Jag försöker visa innehållet i en .war-fil. Jag ställde först in sina behörigheter med chmod 777 och sedan när jag försöker ansluta det med:

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

Det ger cd: /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/: Not a directory och jag kan inte gå vidare.

Kan någon hjälpa mig i det här problemet?

Kommentarer

  • Don ' t använd chmod 777 på en komprimerad fil. Du behöver inte ' för att läsa den. Ett säkert 644 eller 640 rekommenderas.
  • Se de officiella Java-dokumenten: docs.oracle.com/javase/tutorial/deployment/jar/view.html
  • Är /usr/local/standalone/deployments/Sample.war en katalog eller en fil?

Svar

.war-filer är packade. Du kan extrahera informationen med något av följande kommandon:

jar -xvf Sample.war unzip Sample.war 

Du ska då kunna köra cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/

Kommentarer

  • jar -xvf *war vann ' t fungerar om det finns mer än en krigsfil i den aktuella katalogen. tar -xvfz vann ' om du inte fungerar alls, du förvirrar gzippade filer och zippade filer.
  • Detta är sant, Jag ' tänkte inte dra slutsatsen att det skulle fungera med flera krig, bara att du kunde använda det kommandot ordligt för varje krig. Jag ' har ändrat det
  • Jag tycker att det ' är bättre att använda jar -tvf och inte det föreslagna jar -xvf sättet. Så filer ' t extraheras (och förorenar din.) Men listas bara.

Svar

.war filer är zippade arkiv.

Du kan lista vad de innehåller med antingen

jar tvf Sample.war 

eller

zipinfo Sample.war 

Om du vill se innehållet i filer som är lagrade i ett arkiv måste du först extrahera det någonstans :

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

Svar

Om du inte vill extrahera filen du kan använda vim filename.war för att läsa innehållet i filen. Du kan läsa underkataloger för filer genom att välja dem och trycka på enter.

Kommentarer

  • För att detta ska fungera behöver du paketet unzip installerat.

Svar

Först måste du extrahera krigsfilen jar xvf Sample.war. Sedan kan du cd-in till krigsfilen.

Svar

Om unix-kommandona inte fungerar, ftp filen till den lokala maskinen.

.jar eller .war eller .ear vilken arkivfil som helst kan öppnas i 7-Zip genom att följa stegen nedan –

  1. Högerklicka på arkivfilen
  2. 7-Zip
  3. Öppna arkiv

Du bör kunna se alla arkivfiler innehåll. Bläddra nu genom mappen / filen och högerklicka sedan -> redigera filen -> spara filen.

Svar

Förutom att extrahera dem med burk eller packa upp, kan du också använda Midnight Commander (mc) och navigera till dessa filer och tryck på Enter på dem som om de vore kataloger.

Om detta inte fungerar omedelbart är din smak av mc inte konfigurerad för att känna till .war-suffixet, men du kan fortfarande använda den här funktionen genom att skriva antingen cd Sample.war # uzip (gammal mc) eller cd Sample.war / uzip: // (mc i Debian instabil) och trycker på Enter. Som en extra fördel, tryck Escape sedan Enter (i vissa terminaler, även Alt-Enter men detta är inte bärbar så beror inte på det) infogar det aktuella filnamnet i kommandoraden, men du måste också trycka på Backspace eftersom det lägger till ett mellanslag och #uzip eller / uzip: // måste omedelbart följa filnamn.

Detta är känt som mc VFS (virtuellt filsystem).

Jag upprepar inte svaret på unzip / fastjar / jar här, men de är också korrekta.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *