Próbuję wyświetlić zawartość pliku .war. Najpierw ustawiłem jego uprawnienia za pomocą chmod 777, a potem, gdy próbuję uzyskać do niego dostęp, używając:

cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/ 

To daje cd: /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/: Not a directory i nie mogę kontynuować.

Czy ktoś może mi pomóc w tej sprawie?

Komentarze

  • Nie ' nie używaj chmod 777 na skompresowanym pliku. Nie ' nie potrzebujesz bitu wykonania do odczytania. Zalecany jest bezpieczny 644 lub 640.
  • Zobacz oficjalne dokumenty Java: docs.oracle.com/javase/tutorial/deployment/jar/view.html
  • Czy /usr/local/standalone/deployments/Sample.war jest katalogiem lub plik?

Odpowiedź

.war pliki są spakowane. Możesz wyodrębnić informacje za pomocą jednego z następujących poleceń:

jar -xvf Sample.war unzip Sample.war 

Następnie powinno być możliwe uruchomienie cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/

Komentarze

  • jar -xvf *war won ' t działa, jeśli w bieżącym katalogu znajduje się więcej niż jeden plik wojny. tar -xvfz won ' w ogóle nie działa, mylisz pliki spakowane gzip i spakowane.
  • To prawda, Nie chciałem ' wywnioskować, że będzie działać z wieloma wojnami, tylko że możesz użyć tego polecenia dosłownie w każdej wojnie. ' zmieniłem to
  • Myślę, że ' lepiej jest używać jar -tvf a nie proponowany jar -xvf sposób. Więc pliki nie są ' wyodrębniane (i zanieczyszczane), ale tylko wymienione.

Odpowiedź

.war to archiwa spakowane w formacie ZIP.

Możesz wyświetlić ich zawartość za pomocą:

jar tvf Sample.war 

lub

zipinfo Sample.war 

Jeśli chcesz zobaczyć zawartość plików przechowywanych w archiwum, musisz najpierw gdzieś je rozpakować :

mkdir /tmp/foo cd /tmp/foo unzip /usr/local/standalone/deployments/Sample.war ls -l WEB-INF/classes/ 

Odpowiedź

Jeśli nie chcesz wyodrębniać pliku możesz użyć vim filename.war do odczytania zawartości pliku. Możesz czytać podkatalogi plików, zaznaczając je i naciskając Enter.

Komentarze

  • Aby to zadziałało, musisz mieć zainstalowany unzip pakiet.

Odpowiedź

Najpierw musisz wyodrębnić plik wojenny jar xvf Sample.war. Następnie możesz wejść do pliku wojennego.

Odpowiedź

Jeśli polecenia unixa nie działają, prześlij plik na lokalny komputer ftp.

.jar lub .war lub .ear każdy plik archiwum można otworzyć w formacie 7-Zip, wykonując poniższe czynności –

  1. Kliknij prawym przyciskiem myszy plik archiwum
  2. 7-Zip
  3. Otwórz archiwum

Powinieneś być w stanie zobaczyć cały plik archiwum zawartość. Teraz przejrzyj folder / plik, a następnie kliknij prawym przyciskiem myszy -> edytuj plik -> zapisz plik.

Odpowiedź

Oprócz wyodrębnienia ich za pomocą jar lub unzip, możesz także użyć Midnight Commander (mc) i przejść do tych plików i naciśnij Enter na nich tak, jakby były katalogami.

Jeśli to nie zadziała od razu, twoja odmiana mc nie jest skonfigurowana do znajomości sufiksu .war, ale nadal możesz użyć tej funkcji, wpisując albo cd Sample.war # uzip (stary mc) lub cd Sample.war / uzip: // (mc w niestabilnej Debianie) i naciśnięcie Enter. Dodatkową korzyścią jest naciśnięcie Escape, a następnie Enter (w niektórych terminalach również Alt-Enter, ale to nie jest przenośny, więc nie polegaj na nim) wstawia bieżącą nazwę pliku do wiersza poleceń, ale będziesz musiał również nacisnąć Backspace, ponieważ dodaje spację, a #uzip lub / uzip: // musi natychmiast następować po nazwa pliku.

Jest to znane jako mc VFS (wirtualny system plików).

Nie będę tu powtarzał odpowiedzi unzip / fastjar / jar, ale są one również poprawne.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *