Ich habe eine WAR-Datei für eine Anwendung, die normalerweise in Jetty gut läuft.
Ich versuche, die Anwendung so zu portieren, dass sie in WebLogic läuft, aber beim Start bekomme ich diese Ausnahmen:
%Vor%Was ist der beste Weg, um das zu beheben?
Ich verwende Hibernate 3.3.1.GA und WebLogic 10.3.2.0.
WebLogic hat eine eigene Version von ANTLR und dies verursacht das Problem, dem Sie gegenüberstehen. Eine Möglichkeit, dies mit einer Webanwendung zu lösen, besteht darin, das Element prefer-web-inf-classes
in weblogic.xml
auf true
zu setzen.
Der weblogic.xml
geht in WEB-INF
.
Meiner Meinung nach die beste Lösung für war
:
Erstellen Sie die Datei webapp\WEB-INF\weblogic.xml
und fügen Sie den Text
Ich wollte die WAR-Datei auf Weblogic 11g (Weblogic Server 10.3.5) bereitstellen. Normalerweise wird in einer Webanwendung web.xml verwendet. Damit Weblogic die in web.xml erwähnten Klassen aufgreift, müssen wir eine Datei in WEB-INF / weblogic.xml einfügen. Unten ist der Code.
%Vor%Das hat das Problem für mich gelöst und ich konnte WAR auf weblogic bereitstellen. Bitte aktivieren Sie die Webarchivierungsoption über die Weblogic-Konsole.
Ich hatte eine EAR, also musste ich eine Datei META-INF / weblogic-application.xml
hinzufügenDie Datei selbst war sehr einfach, dies ist für Oracle WebLogic 11g und WebLogic Server 10.3.x:
%Vor% Für diejenigen unter Ihnen, die den oben genannten Ansatz ausprobiert haben, den antlr
-Namespace im Deskriptor weblogic-application.xml
als "prefer-application-packages" zu deklarieren und immer noch das gleiche Problem haben, können Sie versuchen, den Klassenpfad des weblogic-domain im Startskript mit den Bibliotheken Ihres Projekts direkt:
Führen Sie dazu die folgenden Schritte aus:
1.) Finden Sie die Datei bin/startWeblogic.[sh|cmd]
in Ihrer Weblogic Domain home
2..) finde die Zeile, die set SAVE_CLASSPATH=
3.) Ersetzen Sie dies (unter Windows, passen Sie es entsprechend für mac / * nix an)
%Vor%4.) Speichern, (neu-) starten Sie Ihre Weblogic Domain und kreuzen Sie die Finger.
Hinweis: Dies ist wahrscheinlich keine gute Idee, wenn in Ihrer Domain mehr als ein implementiertes Artefakt vorhanden ist. In einigen Fällen ist es auch möglich, nur die relevanten JAR-Dateien aus Ihrem WEB-INF / lib-Ordner auszuwählen. Natürlich, wenn Sie Maven verwenden, müssen Sie diese Bibliotheken woanders hosten.
Diese Lösung funktioniert auch mit dem Weblogic-Server, der in der Eclipse-Serveransicht gestartet wird, da der Oracle-Weblogic-Adapter das Befehlszeilenskript zum Starten des Servers verwendet.