2016-05-25 10 views
0

Wir verwenden eine Bibliothek, die aus irgendeinem Grund nicht funktioniert, wenn der WAR unter dem apps-Ordner erweitert wird. Wenn die Eclipse-Tools die WAR-Datei auf einem Remote-Server veröffentlichen, wird die WAR-Datei erweitert. Wie verhindere ich, dass der Server die veröffentlichte WAR entpackt?Wie verhindern Sie, dass Liberty eine veröffentlichte WAR-Datei erweitert?

+0

Zuerst dachte ich, die Antwort wäre, einfach diese ** ** zu Ihrer server.xml hinzuzufügen. Ich habe diese Antwort gelöscht, nachdem ich festgestellt habe, dass es wahrscheinlich mehr mit der Veröffentlichung auf dem Remote-Server zu tun hat. –

Antwort

0

Wenn eine App nicht funktioniert, wenn sie erweitert wird, aber die gleiche App wie eine Binärdatei funktioniert, dann deutet das auf einen Fehler im Server hin. Mir sind keine speziellen Fälle bekannt, in denen wir eine erweiterte EAR anstelle einer EAR-Binärdatei nicht unterstützen würden.

Es hört sich an, als wären Sie schon so weit, aber die erste Sache, die Sie überprüfen müssen, ist, ob Sie Ressourcen innerhalb des Arbeitsbereichs oder innerhalb des Servers verwenden. Sie können dies überprüfen, indem Sie sich den Server auf der Festplatte ansehen und sehen, ob das Verzeichnis apps entweder TestWar.war.xml oder TestWar.war (Verzeichnis) enthält.

Um die Ressourcen auf den Server zu verschieben, wenn Sie etwas wie WDT verwenden (die Eclipse-Tools erhalten Sie durch Ziehen des Symbols auf wasdev.net in Ihren Eclipse-Arbeitsbereich), können Sie die Liberty-Servereinstellungen ändern.

Doppelklicken Sie in der Registerkarte Servers auf den Eintrag WebSphere Application Server Liberty, und Sie sollten den Konfigurationsbildschirm Overview sehen. Deaktivieren Sie und jetzt, wenn Sie den Server auf der Festplatte betrachten, werden Sie die Dateien direkt im Server sehen.

Aber, um Ihre Frage zu beantworten, es ist nicht so sehr, dass wir die veröffentlichte WAR so entpacken, wie wir es nicht zuerst zippen. Wenn Sie mit der rechten Maustaste auf das EAR-Projekt klicken und zu Export gehen, ist dies eine einmalige Möglichkeit, eine EAR-Binärdatei zu erstellen, aber ansonsten sollten Sie ein einfaches Build-Beschreibungssystem über Ant oder Gradle oder Maven zusammen mit ähnlichen Standards betrachten Archiv.

+0

Erik, "Ausführen von Anwendungen direkt aus dem Arbeitsbereich" wird für Remoteserver nicht unterstützt. Es ist kein EAR beteiligt, nur ein KRIEG. Basierend auf der Konsole wird es definitiv entpackt: '[INFO] CWWKX7908I: Archiv /.../XYZ_original.war wurde erfolgreich erweitert auf /.../ XYZ.war' –

+0

Bei der Entwicklung mit Eclipse kann ich ändern mein Code und haben es in Millisekunden neu kompiliert, in Sekunden neu veröffentlicht oder sogar Hot-Swap in eine laufende JRE. Ich kenne keine Teams, die Ant/Gradle/Maven benutzt haben, um eine ähnliche Entwicklungserfahrung zu erzielen. –

+0

In diesem Fall habe ich die Frage falsch verstanden. In der Implementierung wird ein FileTransferMBean mit einem Flag "expandOnCompletion" verwendet. Ich überlege, ob dies mit den Eclipse-Tools konfigurierbar ist. – ewhoch

Verwandte Themen