Bonjour,
J'ai un problème avec un jar que je veux deployer sur un serveur weblogic.
Il ne trouve pas mes jars externes pour résoudre les dépendances.
Voici l'erreur
Code :
- Exception:weblogic.management.ApplicationException: prepare failed for CMSEJB.jar Module: CMSEJB.jar Error: Exception preparing module: EJBModule(CMSEJB.jar,status=NEW) Unable to deploy EJB: /in/smp/smf/bea/user_projects/domains/cms/./cmsserver/.wlnotdelete/BYTCMS100-18/CMSEJB.jar from CMSEJB.jar: [EJB:010106]EJB : AccountAgent .Unable to initialize method info for remote or home interface. The error is java.lang.NoClassDefFoundError: com/borland/xml/toolkit/XmlObject at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:537) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:476) at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:181) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:223) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:1647) at java.lang.Class.privateGetPublicMethods(Class.java:1770) at java.lang.Class.getMethods(Class.java:824) at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.initializeMethodInfos(ClientDrivenBeanInfoImpl.java:1224) at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.<init>(ClientDrivenBeanInfoImpl.java:266) at weblogic.ejb20.deployer.SessionBeanInfoImpl.<init>(SessionBeanInfoImpl.java:74) at weblogic.ejb20.deployer.BeanInfoImpl.createBeanInfoImpl(BeanInfoImpl.java:364) at weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.initializeBeanInfos(MBeanDeploymentInfoImpl.java:548) at weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.<init>(MBeanDeploymentInfoImpl.java:232) at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1302) at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:498) at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:3101) at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1560) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1208) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1051) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2444) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2394)
- ...
|
J'essaie plusieurs solution mais rien ne semble marcher
1-j'ai rajouté les jars externes dans le jar que je suis entrain de construire (toto.jar) et rajouter un attribut Class-Path dans le MANIFEST.MF, qui précise les jars externes que j'ai rajoutés, mais ça ne résoud pas le problème
2-j'ai rajouté directement le contenu des jars externes dans mon jar (toto.jar)
Mais lors du déploiement il (weblogic)ne trouve toujours pas les classes externes pour résoudre les dépendances.
Quelqu'un aurait une idée???
AUtrement je tente une ultime solution mais je crois pas si ça va marcher.
je voudrais donc générer directement dans le fichier MANIFEST.MF la description des classes contenues dans un jar, en utilisant un script ANT(build.xml)
Par exemple
mon jar s'appelle toto.jar
j'aimerais générer dans le fichier toto/META-INF/MANIFEST.MF les lignes suivantes(attributs)
Name:toto/tartampion/MyClass.class
Name:toto/tartampion/MyClass2.class
Name:toto/tartampion/MyClass3.class
ainsi de suite
et sans avoir à le renseigner dans le fichier ANT manuellement.
J'ai vu qu'on pouvait rajouter des attributs(Nom: Valeur) dans le MANIFEST.MF avec ANT, c'est fastidieux de le faire pour 10000 lignes.
Quelqu'un aurait une idée?
Merci d'avance
---------------
"Rendez tout aussi simple que possible mais ne simplifierez rien" Albert Einstein