2016-07-15 55 views
0

Ich installiere eine Anwendung (.war-Datei) unter Verwendung von wsadmin-Tool, und ich bin mit der OptionWarum .ear und .war-Ordner für installierte Anwendung auf WebSphere erstellt werden?

-installed.ear.destination, [Zielordner]

auf installierte Anwendung in Zielordner.

Aber nach der Anwendung installiert ist, endgültige Ordnerstruktur für meine Web-Inhalte ist wie

[Zielordner] /testapp.ear/testapp.war/ [mein Inhalt]

warum diese .ear und .war-Ordner werden erstellt und wie kann ich die Anwendung installieren, so dass [meine Inhalte] in [Zielordner] vorhanden sind?

+0

Die EAR enthält einfach die WAR-Datei darin. Da WebSphere die EAR-Dateistruktur für alle Anwendungen verwaltet, ist es unwahrscheinlich, dass [Inhalte] im [Zielordner] angezeigt werden. – Haxiel

Antwort

5

WebSphere Application Server führt nur EAR-Dateien aus. Wenn Sie also eine WAR-Datei über die Admin-Konsole oder wsadmin installieren, wird sie in eine EAR-Datei geschrieben, damit sie zur Laufzeit verarbeitet werden kann.

0

Dies ist der Teil der Architektur der Anwendungsbereitstellung für IBM WebSphere Application Server.

Als Teil der Anwendungsbereitstellung platziert der Anwendungsserver Anwendungsdateien in einer Struktur, die für die Ausführung der Anwendung geeignet ist. Das bedeutet einfachen Zugriff auf alle Module und einfachen Zugriff auf Dateien in Webmodulen.

Bei EJB-JAR-Dateien gibt es keine zusätzliche Überlagerung in der Dateistruktur: Alle Elemente einer EJB-JAR-Datei sind über die JAR/ZIP-API zugänglich, die von Java bereitgestellt wird. Es ist erforderlich, jede EJB-JAR-Datei einer Anwendung zu entpacken. Es ist jedoch nicht erforderlich, Elemente in den EJB-JAR-Dateien zu entpacken.

Bei WAR-Dateien gibt es eine zusätzliche Schichtung von JAR-Dateien im WEB-INF/lib-Ordner. Der Zugriff auf diese Web-Modulbibliothek-JARs erfordert das Platzieren der JAR-Dateien als exponierte Dateien.

Außerdem sind bestimmte Ressourcen von WAR-Dateien in der Dateigruppe für den einfachen Zugriff aus Codebereichen verfügbar, die nicht für die Verarbeitung von JAR-Dateien eingerichtet sind. Am wichtigsten ist, dass JSP-Dateien auf dem Datenträger verfügbar sind, so dass der JSP-Compiler einfachen Zugriff darauf hat.

Das Ergebnis ist, dass die Dateien einer bereitgestellten Anwendung zwei Ebenen der Anwendungsstruktur erweitern: Die EAR-Datei selbst wird erweitert und WAR-Dateien innerhalb der EAR werden erweitert. JAR-Dateitypen (EJB-JARs, JARs der Anwendungsbibliothek, JARs des Anwendungsclients und JARs des einfachen Dienstprogramms, die im EAR, aber nicht im Ordner der Anwendungsbibliothek enthalten sind) werden nicht erweitert.

Es besteht die Möglichkeit, eine komplexere API für den Zugriff auf verschachtelte Archivdateien (JAR-Dateien in JAR-Dateien oder mehr oder weniger dieselben ZIP-Dateien in ZIP-Dateien) zu erstellen, die den verschachtelten Inhalt einer Anwendung als behandeln eine Erweiterung des Dateisystems. Es gibt zwei Probleme mit dieser Art von Strategie. Entweder müssen verschachtelte Archive bei Bedarf zu temporären Positionen erweitert werden, oder verschachtelte Archive müssen in den verschachtelten Archiven in einem nicht komprimierten Format gespeichert werden. Diese beiden Schritte sind notwendig, da das ZIP-Dateiformat Suchvorgänge auf Archiven nicht unterstützt, die in anderen Archiven gespeichert sind, wo die Archive die Komprimierung für das verschachtelte Archiv verwenden dürfen. Da zwei Komprimierungsebenen ausgeführt werden, ist eine Suche im verschachtelten Archiv möglich, ohne dass die Ebenenkomprimierung für das verschachtelte Archiv entfernt wird.

Tooling kann so eingestellt werden, dass beim Speichern eines verschachtelten Archivs eine Komprimierung verhindert wird, dies wird jedoch normalerweise nicht durchgeführt. Und Archive haben normalerweise genug Regelmäßigkeit, dass der Standard-ZIP-Speicher-Algorithmus beim Speichern verschachtelter Archive automatisch Komprimierung verwendet. Der häufigste Fall ist, dass verschachtelte Archive zur Bereitstellung mit zweistufiger Komprimierung bereitgestellt werden.

Thomas Bitonti, IBM Application Server Entwicklung

0

Die folgende tut selbst vorschlagen:

Rename the target application to the target folder name. 
Set the target folder name to the parent of the target folder. 

Zum Beispiel:

Original target folder: /appsDir/appContent 
Original application name: testapp.ear 

Modified target folder: /appsDir 
Modified application name: appContent.ear 

Das wird Sie näher kommen, obwohl es immer noch das ist Ausgabe der Dateierweiterung im Anwendungsarchiv.

Thomas Bitonti