Wie lieber Gläser aus der Weblogic-Domäne, über die aus weblogic system
Ich bin mit Weblogic Server 12.1.1 und kopiert einige Krüge, um meine domain lib
Ordner. Eines der Gläser ist ein org.apache.commons.io
jar. Nun habe ich das problem, dass Weblogic selbst kommt mit einer anderen version von commons-io in seiner system-classpath und so bekomme ich NoSuchMethodErrors. Gibt es eine Möglichkeit zum konfigurieren von Weblogic zu bevorzugen, die libs von der domain über die aus Weblogic system?
Den Filtern Classloader funktioniert nur auf diese Gläser mit der Anwendung bereitgestellt (WEB-INF/lib
).
Anstatt Sie auf die domain lib-Ordner, haben Sie versucht, die Bearbeitung
Ich glaube nicht, dass Weblogic ermöglicht. die Idee ist, wenn Sie eine Bibliothek über whats-system - dann werden Sie haben, bündeln Sie es in Ihrem web-app oder OHR, und verwenden Sie dann die Lösung @Blekit hat
setDomainEnv.sh
oder startWebLogic.sh
und setzen Sie die neue jar-Datei im classpath? Haben Sie versucht, geht um die Server Start
Registerkarte in der admin-Konsole und ändern Sie den Klassenpfad gibt es?Ich glaube nicht, dass Weblogic ermöglicht. die Idee ist, wenn Sie eine Bibliothek über whats-system - dann werden Sie haben, bündeln Sie es in Ihrem web-app oder OHR, und verwenden Sie dann die Lösung @Blekit hat
InformationsquelleAutor schoenk | 2014-04-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie brauchen, um Gläser in der domain /lib, ich denke, Sie haben zum Bearbeiten der setDomainEnv.cmd und ändern PRE_CLASSPATH variable.
Beispiel:
set PRE_CLASSPATH=C:\myinstallation\Middleware\wlserver_12.1\domains\mydomain\lib\myjar.jar
Aber, wenn man JARs in WEB-INF/lib oder in der APP-INF/lib, dann verwenden Sie @Blekit Lösung, es ist sauberer.
InformationsquelleAutor Carles Figuera
Verwenden Sie eine der folgenden Optionen in
weblogic.xml
Deskriptor:prefer-application-packages
prefer-web-inf-classes
Werden die Details beschrieben hier.
Nach dieser - Artikel "domain /lib classloader werden die Eltern von jedem Java-EE-Anwendung", so ist es sollte funktionieren out of the box. Vielleicht versuchen Sie es mit der Java-EE-Bibliotheken-Funktion?
Ja, "domain/lib" ist ein Mutterunternehmen von der EE-application class loader, aber der Artikel sagt auch, dass es ein Kind ist, und der gesamte system-class-loader. Und das ist mein problem. Ich bräuchte eine Art "bevorzugen" config für die "domain/lib" - Klassen.
InformationsquelleAutor Blekit
Vollständigkeit halber muss ich sagen, dass putting-commons-io in der domain/lib-Ordner ist eine schlechte Lösung. Das problem, das Sie beschreiben, ist ein guter Grund, nicht zu weit verbreitet Bibliotheken in diesem Ordner. Das problem könnte umgangen werden, indem eine noch schlechtere Idee: Umzug der Bibliothek, die höher in der classloader-Hierarchie. Wenn Sie darauf bestehen, ohne commons-io aus Ihrer Anwendung Ergebnisse, die Sie möglicherweise installieren commons-io als gebilligt lib in das jdk. (siehe hier) Dies würde nagelt Ihre version von commons-io-für jede Anwendung, einschließlich weblogic selbst. Natürlich, das wäre ein problem, wenn Sie benötigen, Kontaktieren Sie weblogic support.
InformationsquelleAutor ralferic