2012-03-29 5 views
1

Ich benutze zwei Server ist Tomcat und andere ist WebLogic.
Ich habe zwei Anwendungen entwickelt, eine ist Main-Application und die zweite ist Commons-Anwendung.
Ich habe Quarz-JAR in die Commons-Anwendung eingefügt und es als JAR exportiert und in der Main-Application hinzugefügt.
Zum Importieren von Quarz-JAR in die Commons-Anwendung habe ich einen lib-Ordner erstellt und den Pfad in Build-Pfad-Konfiguration angegeben.
Jetzt, wenn ich Main-Application ausführen, gibt es mir Fehler, dass Klasse nicht gefunden wird, die mit Quarz verbunden ist.
Also füge ich auch Quarz JAR in die Main-Anwendung ein und führe es erneut aus, damit es gut funktioniert.
Aber wenn ich dieselbe Konfiguration in WebLogic ausführen, gab es mir denselben Fehler (Klasse nicht gefunden).
Was fehlt mir? Muss ich etwas anderes für WebLogic tun?Klasse nicht gefunden Exception in WebLogic, Fein in TomCat

Antwort

0

Ich bin mir nicht sicher über Hauptmethoden-Apps, aber in Web-Apps müssen wir unseren Classpath-Einträgen einen Vorzug geben. Weblogic ist ein App-Server bietet seine eigenen Gläser und andere Dienste. Und standardmäßig verwendet es lieber seine eigenen Gläser. Wenn Sie also Ihre eigenen Jars verwenden möchten, die sich im Klassenpfad Ihres Projekts befinden, müssen Sie dies ausdrücklich angeben. Tomcat, das ein Servlet-Container ist, hat keine eigenen Jars, daher bezieht es sich standardmäßig auf Ihre Bibliotheken. Sehen Sie die Prefer Webinf-Klassen.

http://docs.oracle.com/cd/E24329_01/web.1211/e21049/weblogic_xml.htm

<container-descriptor> 
    <prefer-web-inf-classes>true</prefer-web-inf-classes> 
</container-descriptor> 

ähnliche Classpath Einstellungen sollten für Hauptklasse-Anwendungen zur Verfügung stehen, denke ich.

Noch wichtiger, Gläser sollten nicht in andere Gläser eingebettet werden. (Ich denke, dass Sie Quarts in ein anderes gemeinsames Glas einbetten. Die Hauptanwendung sollte zwei Gläser haben: commonsapp.jar und quartz.jar in ihrem Klassenpfad.)