Come leggere un file .war?


17

Sto cercando di visualizzare il contenuto di un file .war. Prima ho impostato i suoi permessi con chmod 777poi quando provo ad accedervi usando:

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

Sta dando cd: /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/: Not a directorye non sono in grado di procedere oltre.

Qualcuno può aiutarmi in questo problema?


5
Non utilizzare chmod 777su un file compresso. Non hai bisogno di bit di esecuzione per leggerlo. Una cassaforte 644o 640è raccomandata.
Braiam,

Consulta i documenti Java ufficiali: docs.oracle.com/javase/tutorial/deployment/jar/view.html
slm

È /usr/local/standalone/deployments/Sample.waruna directory o un file?
jlliagre,

Risposte:


21

I file .war sono compressi. È possibile estrarre le informazioni utilizzando uno dei seguenti comandi:

jar -xvf Sample.war
unzip Sample.war

Dovresti quindi essere in grado di eseguire cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/


3
jar -xvf *warnon funzionerà se nella directory corrente è presente più di un file di guerra. tar -xvfznon funzionerà affatto, stai confondendo i file compressi con zip e quelli compressi.
jlliagre,

Questo è vero, non intendevo dedurre che avrebbe funzionato con più guerre, solo che potevi usare quel comando alla lettera per ogni guerra. L'ho cambiato
JZeolla il

1
Penso che sia meglio usare jar -tvfe non nel jar -xvfmodo proposto . Quindi i file non vengono estratti (e contaminano il tuo.) Ma solo elencati.
Dror Cohen,

8

.war i file sono archivi zippati.

Puoi elencare ciò che contengono con entrambi

jar tvf Sample.war

o

zipinfo Sample.war

Se vuoi vedere il contenuto dei file archiviati in un archivio, devi prima estrarlo da qualche parte:

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

4

Se non si desidera estrarre il file, è possibile utilizzare vim filename.warper leggere il contenuto del file. Puoi leggere le sottodirectory dei file selezionandole e premendo invio.


Perché questo funzioni, è necessario che il pacchetto sia unzipinstallato.
Thaoden,

1

Per prima cosa devi estrarre il file di guerra jar xvf Sample.war. Quindi è possibile accedere al file di guerra.


0

Oltre ad estrarli con jar o decomprimere, puoi anche usare Midnight Commander (mc) e navigare verso questi file e premere Invio su di essi come se fossero directory.

Se questo non funziona immediatamente, il tuo sapore di mc non è configurato per conoscere il suffisso .war, ma puoi comunque usare questa funzione digitando cd Sample.war # uzip (vecchio mc) o cd Sample.war / uzip: // (mc in Debian instabile) e premendo Invio. Come ulteriore vantaggio, premendo Esc quindi Invio (in alcuni terminali, anche Alt-Invio ma questo non è portatile, quindi non dipendere da esso) inserisce il nome del file corrente nella riga di comando, ma dovrete premere anche Backspace perché aggiunge uno spazio e #uzip o / uzip: // deve seguire immediatamente il nome del file.

Questo è noto come mc VFS (filesystem virtuale).

Non ripeterò qui le risposte unzip / fastjar / jar, ma sono anche corrette.


0

Se i comandi unix non funzionano, ftp il file sul computer locale.

.jaro .waro .earqualsiasi file di archivio può essere aperto in 7-Zip seguendo i passaggi seguenti -

  1. Fare clic con il tasto destro sul file di archivio
  2. 7-Zip
  3. Apri archivio

Dovresti essere in grado di vedere tutto il contenuto del file di archivio. Ora sfoglia la cartella / file e quindi fai clic con il pulsante destro del mouse -> modifica il file -> salva il file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.