ClassNotFoundException (HqlToken) beim Ausführen in WebLogic

8

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.

    
leedm777 23.04.2010, 22:08
quelle

6 Antworten

12

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.

%Vor%

Der weblogic.xml geht in WEB-INF .

    
Pascal Thivent 23.04.2010, 22:22
quelle
11

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

ein %Vor%     
Alexander Trofimov 12.02.2013 08:14
quelle
6

Wenn Sie ein EAR-Projekt wie mich haben, müssen Sie dieses Element zum Weblogic-Ohr-Deployment-Deskriptor [ weblogic-application.xml ]

hinzufügen %Vor%     
shane lee 31.05.2010 02:22
quelle
2

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.

    
Karthik N G 22.11.2012 09:12
quelle
1

Ich hatte eine EAR, also musste ich eine Datei META-INF / weblogic-application.xml

hinzufügen

Die Datei selbst war sehr einfach, dies ist für Oracle WebLogic 11g und WebLogic Server 10.3.x:

%Vor%     
Ed Griebel 18.08.2011 22:07
quelle
0

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=

sagt

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.

    
mwhs 02.10.2013 16:30
quelle

Tags und Links