Jak odczytać plik .war?


17

Próbuję wyświetlić zawartość pliku .war. Najpierw ustawiłem jego uprawnienia, chmod 777kiedy próbowałem uzyskać do niego dostęp za pomocą:

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

Daje cd: /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/: Not a directoryi nie jestem w stanie iść dalej.

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


5
Nie używaj chmod 777w skompresowanym pliku. Nie potrzebujesz bitu wykonania do odczytu. Bezpieczne 644lub 640zalecane.
Braiam


Czy /usr/local/standalone/deployments/Sample.warkatalog lub plik?
jlliagre

Odpowiedzi:


21

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

jar -xvf Sample.war
unzip Sample.war

Powinieneś być w stanie uruchomić cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/


3
jar -xvf *warnie będzie działać, jeśli w bieżącym katalogu znajduje się więcej niż jeden plik wojenny. tar -xvfzw ogóle nie będzie działać, mylisz pliki spakowane i spakowane.
jlliagre

To prawda, nie chciałem wnioskować, że będzie działać z wieloma wojnami, tylko że można użyć tego polecenia dosłownie w każdej wojnie. Zmieniłem to
JZeolla,

1
Myślę, że lepiej jest używać, jar -tvfa nie proponowany jar -xvfsposób. Więc pliki nie są wyodrębniane (i zanieczyszczają twoje.), Ale tylko wymienione.
Dror Cohen

8

.war pliki są spakowanymi archiwami.

Możesz wymienić ich zawartość

jar tvf Sample.war

lub

zipinfo Sample.war

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

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

4

Jeśli nie chcesz rozpakowywać pliku, możesz użyć go vim filename.wardo odczytania zawartości pliku. Możesz czytać podkatalogi plików, wybierając je i naciskając enter.


Aby to zadziałało, musisz unzipzainstalować pakiet .
Thaoden


0

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

Jeśli to nie zadziała od razu, twój smak mc nie jest skonfigurowany tak, aby znać sufiks .war, ale nadal możesz korzystać z tej funkcji, wpisując albo cd Sample.war # uzip (stary mc) lub cd Sample.war / uzip: // (mc w Debianie niestabilny) i naciśnięcie Enter. Dodatkową korzyścią jest naciśnięcie klawisza Escape, a następnie Enter (w niektórych terminalach również Alt-Enter, ale nie jest to przenośne, więc nie zależą od niego) wstawia bieżącą nazwę pliku do wiersza poleceń, ale trzeba także nacisnąć klawisz Backspace, ponieważ dodaje spację, a #uzip lub / uzip: // musi natychmiast podążać za nazwą pliku.

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

Nie powtórzę tutaj odpowiedzi na rozpakowanie / fastjar / jar, ale są one również poprawne.


0

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

.jarlub .warlub .eardowolny plik archiwum może być otwarty w 7-Zip, wykonując czynności -

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

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.