Comment préférez des Pots de domaine Weblogic sur celles de weblogic système
Je suis en utilisant Weblogic Server 12.1.1 et copié certains Pots à mon domaine de lib
dossier. L'une des Jarres est un org.apache.commons.io
jar. Maintenant j'ai le problème que Weblogic elle-même est livré avec une version différente de commons-io dans son système classpath et si je reçois NoSuchMethodErrors. Est-il possible de configurer Weblogic à préférer les libs de domaine sur celles de Weblogic système?
Le Filtrage du chargeur de classe ne fonctionne que sur les Pots fournis avec l'application (WEB-INF/lib
).
Au lieu d'ajouter le domaine, du dossier lib, avez-vous essayé d'édition
Je ne pense pas que Weblogic le permet. l'idée est que si vous avez besoin d'une bibliothèque de plus de ce système, alors vous aurez à grouper au sein de votre application web ou de l'OREILLE, puis l'utilisation de la solution @Blekit a
setDomainEnv.sh
ou startWebLogic.sh
et de mettre le nouveau jar dans le classpath? Avez-vous essayé d'aller à la Server Start
onglet dans la console d'administration et de changer le chemin de classe là?Je ne pense pas que Weblogic le permet. l'idée est que si vous avez besoin d'une bibliothèque de plus de ce système, alors vous aurez à grouper au sein de votre application web ou de l'OREILLE, puis l'utilisation de la solution @Blekit a
OriginalL'auteur schoenk | 2014-04-17
Vous devez vous connecter pour publier un commentaire.
Si vous avez besoin de mettre les Pots dans le domaine /lib, je pense que vous devez modifier le setDomainEnv.cmd et modifier PRE_CLASSPATH variable.
Exemple:
ensemble PRE_CLASSPATH=C:\myinstallation\Middleware\wlserver_12.1\domains\mydomain\lib\myjar.jar
Mais, si c'est possible de mettre les Bocaux dans WEB-INF/lib ou APP-INF/lib, puis utilisez @Blekit solution, c'est plus propre.
OriginalL'auteur Carles Figuera
Utilisez l'une des options suivantes dans
weblogic.xml
descripteur:prefer-application-packages
prefer-web-inf-classes
Détails sont décrits ici.
Selon ceci l'article, "domaine /lib chargeur de classe parent de toute application Java EE", donc, il faut travailler hors de la boîte. Peut-être essayer d'utiliser le Java EE bibliothèques de fonction?
Oui, "domaine/lib" est un parent de l'EE de l'application du chargeur de classe, mais l'article dit aussi que c'est un enfant de l'ensemble du système de chargeur de classe. Et que c'est mon problème. J'aurais besoin d'une sorte de "préférer" config pour le "domaine/lib" des classes.
OriginalL'auteur Blekit
Pour être complet, je dois dire que le fait de mettre commons-io dans le domaine/dossier lib est une mauvaise solution. Le problème que vous décrivez est une bonne raison de ne pas mettre largement utilisé les bibliothèques dans ce dossier. Le problème peut être contourné par un même pire idée: le déplacement de la bibliothèque à un niveau supérieur dans la hiérarchie du chargeur de classe. Si vous insistez sur l'exclusion de commons-io à partir de votre application livrables, vous pouvez installer commons-io comme approuvé lib dans le jdk. (voir ici) Ce serait l'ongle de votre version de commons-io pour chaque application, y compris weblogic lui-même. Bien sûr, ce serait un problème si vous avez besoin de contacter weblogic soutien.
OriginalL'auteur ralferic