Ich versuche, den Inhalt einer .war-Datei anzuzeigen. Ich habe seine Berechtigungen zuerst mit chmod 777 festgelegt, dann, wenn ich versuche, darauf zuzugreifen, indem ich:

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

Es gibt cd: /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/: Not a directory und ich kann nicht weiter vorgehen.

Kann mir jemand bei diesem Problem helfen?

Kommentare

  • Verwenden Sie ' nicht chmod 777 für eine komprimierte Datei. Sie benötigen ' kein Ausführungsbit zum Lesen. Ein sicheres 644 oder 640 wird empfohlen.
  • Siehe die offiziellen Java-Dokumente: docs.oracle.com/javase/tutorial/deployment/jar/view.html
  • Ist /usr/local/standalone/deployments/Sample.war ein Verzeichnis oder ein Datei?

Antwort

.war-Dateien werden gepackt. Sie können die Informationen mit einem der folgenden Befehle extrahieren:

jar -xvf Sample.war unzip Sample.war 

Sie sollten dann in der Lage sein, cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/

Kommentare

  • jar -xvf *war hat ' t gewonnen funktionieren, wenn sich mehr als eine Kriegsdatei im aktuellen Verzeichnis befindet. tar -xvfz funktioniert ' überhaupt nicht, Sie verwechseln komprimierte und komprimierte Dateien.
  • Dies ist wahr, Ich wollte nicht ' schließen, dass es mit mehreren Kriegen funktionieren würde, nur dass Sie diesen Befehl wörtlich für einen Krieg verwenden könnten. Ich ' habe es geändert
  • Ich denke, es ist ' besser, jar -tvf und nicht die vorgeschlagene jar -xvf Weise. Dateien werden also nicht ' extrahiert (und kontaminieren Ihre.), Sondern nur aufgelistet.

Antwort

.war Dateien sind komprimierte Archive.

Sie können entweder

oder

zipinfo Sample.war 

Wenn Sie den Inhalt von Dateien anzeigen möchten, die in einem Archiv gespeichert sind, müssen Sie ihn zuerst irgendwo extrahieren :

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

Antwort

Wenn Sie die Datei nicht extrahieren möchten Sie können vim filename.war verwenden, um den Inhalt der Datei zu lesen. Sie können Unterverzeichnisse von Dateien lesen, indem Sie sie auswählen und die Eingabetaste drücken.

Kommentare

  • Damit dies funktioniert, muss das Paket unzip installiert sein.

Answer

Zuerst müssen Sie die Kriegsdatei jar xvf Sample.war extrahieren. Dann können Sie in die Kriegsdatei cd.

Antwort

Wenn die Unix-Befehle nicht funktionieren, senden Sie die Datei an den lokalen Computer.

.jar oder .war oder .ear Jede Archivdatei kann in 7-Zip geöffnet werden, indem Sie die folgenden Schritte ausführen –

  1. Klicken Sie mit der rechten Maustaste auf die Archivdatei.
  2. 7-Zip
  3. Archiv öffnen

Sie sollten in der Lage sein, die gesamte Archivdatei anzuzeigen Inhalt. Durchsuchen Sie nun den Ordner / die Datei und klicken Sie mit der rechten Maustaste -> bearbeiten Sie die Datei -> speichern Sie die Datei.

Antwort

Neben dem Extrahieren mit jar oder unzip können Sie auch den Midnight Commander (mc) verwenden und zu diesen Dateien navigieren und drücken Sie die Eingabetaste, als wären sie Verzeichnisse.

Wenn dies nicht sofort funktioniert, ist Ihre mc-Version nicht so konfiguriert, dass sie das .war-Suffix kennt. Sie können diese Funktion jedoch auch durch Eingabe verwenden cd Sample.war # uzip (altes mc) oder cd Sample.war / uzip: // (mc in Debian unstable) und Drücken der Eingabetaste. Als zusätzlichen Vorteil drücken Sie Escape und Enter (in einigen Terminals auch Alt-Enter, aber dies ist nicht portabel, hängt also nicht davon ab.) Fügt den aktuellen Dateinamen in die Befehlszeile ein. Sie müssen jedoch auch die Rücktaste drücken, da ein Leerzeichen hinzugefügt wird und #uzip oder / uzip: // sofort dem folgen muss Dateiname.

Dies ist als mc VFS (virtuelles Dateisystem) bekannt.

Ich werde die Antworten zum Entpacken / Fastjar / Jar hier nicht wiederholen, aber sie sind auch korrekt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.