Jeg prøver at se indholdet af en .war-fil. Jeg indstillede først sine tilladelser med chmod 777 og derefter, når jeg prøver at få adgang til det ved hjælp af:

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

Det giver cd: /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/: Not a directory, og jeg kan ikke gå videre.

Kan nogen hjælpe mig i dette spørgsmål?

Kommentarer

  • Don ' t brug chmod 777 på en komprimeret fil. Du behøver ' ikke brug for eksekveringsbit for at læse den. Et sikkert 644 eller 640 anbefales.
  • Se de officielle Java-dokumenter: docs.oracle.com/javase/tutorial/deployment/jar/view.html
  • Er /usr/local/standalone/deployments/Sample.war en mappe eller en fil?

Svar

.war-filer er pakket. Du kan udtrække oplysningerne ved hjælp af en af følgende kommandoer:

jar -xvf Sample.war unzip Sample.war 

Du skal derefter kunne køre cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/

Kommentarer

  • jar -xvf *war vandt ' t arbejde, hvis der er mere end en krigsfil i den aktuelle mappe. tar -xvfz vandt ' overhovedet ikke, du forveksler gzippede filer og zippede.
  • Dette er sandt, Jeg mente ikke ' at udlede, at det ville fungere med flere krige, bare at du kunne bruge den kommando ordret til enhver krig. Jeg ' har ændret det
  • Jeg synes, det ' er bedre at bruge jar -tvf og ikke den foreslåede jar -xvf måde. Så filer er ikke ' t ekstraheret (og forurener din.) Men er lige anført.

Svar

.war filer er zip-arkiver.

Du kan angive, hvad de indeholder med enten

jar tvf Sample.war 

eller

zipinfo Sample.war 

Hvis du vil se indholdet af filer gemt i et arkiv, skal du først udpakke det et sted :

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

Svar

Hvis du ikke vil udpakke filen du kan bruge vim filename.war til at læse indholdet af filen. Du kan læse underkataloger til filer ved at vælge dem og trykke på enter.

Kommentarer

  • For at dette skal fungere, skal du have pakken unzip installeret.

Svar

Først skal du udtrække krigsfilen jar xvf Sample.war. Derefter kan du cd i krigsfilen.

Svar

Hvis unix-kommandoerne ikke virker, ftp filen til den lokale maskine.

.jar eller .war eller .ear enhver arkivfil kan åbnes i 7-Zip ved at følge nedenstående trin –

  1. Højreklik på arkivfilen
  2. 7-Zip
  3. Åbn arkiv

Du skal kunne se hele arkivfilen indhold. Gennemse nu mappen / filen, og højreklik derefter -> rediger filen -> gem filen.

Svar

Udover at pakke dem ud med jar eller unzip, kan du også bruge Midnight Commander (mc) og navigere til disse filer og tryk på Enter på dem som om de var kataloger.

Hvis dette ikke virker med det samme, er din smag af mc ikke konfigureret til at kende .war-suffikset, men du kan stadig bruge denne funktion ved at skrive enten cd Sample.war # uzip (gammel mc) eller cd Sample.war / uzip: // (mc i Debian ustabil) og trykke på Enter. Som en ekstra fordel skal du trykke på Escape og derefter Enter (i nogle terminaler også Alt-Enter men dette er ikke bærbar, så afhæng ikke af det) indsætter det aktuelle filnavn i kommandolinjen, men du skal også trykke på Backspace, fordi det tilføjer et mellemrum, og #uzip eller / uzip: // skal straks følge filnavn.

Dette er kendt som mc VFS (virtuelt filsystem).

Jeg gentager ikke svarene på unzip / fastjar / jar her, men de er også korrekte.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *