IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Wildfly/JBoss Java Discussion :

[jboss][ejb2][hibernate] NoClassDefFoundError au deploiement


Sujet :

Wildfly/JBoss Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [jboss][ejb2][hibernate] NoClassDefFoundError au deploiement
    Bonjour,

    j'ai en ce moment un probleme relativement penible :

    Mon projet se compose de deux parties :
    - un jar contenant des EJB2
    - un jar contenant mes classes Hibernate

    le premier utilise le second.

    lorsque je deploie sur mon jboss local, tout se passe bien, les ejb sont correctement deployés, hibernate aussi.

    lorsque que j'essaye de deployer sur le jboss distant censé recevoir mon application, tout se passe un peu moins bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    10:17:47,780 DEBUG [verifier] Bean checked: DeliveryFileSession: Verified.
    10:17:47,783 DEBUG [verifier] Bean checked: ProjectSession: Verified.
    10:17:47,788 WARN  [EJBDeployer] Verify failed; continuing
    java.lang.NoClassDefFoundError: action.Action
            at jrockit.reflect.MemberAccess.getClassFromFieldDesc(Ljava.lang.String;ILjava.lang.ClassLoader;)Ljava.lang.Class;(Unknown Source)
            at jrockit.reflect.MemberAccess.getReturnClassFromMethodDesc(Ljava.lang.String;Ljava.lang.ClassLoader;)Ljava.lang.Class;(Unknown Source)
            at java.lang.reflect.Method.getParameterTypes0()[Ljava.lang.Class;(Unknown Source)
            at java.lang.reflect.Method.getParameterTypes()[Ljava.lang.Class;(Unknown Source)
            at org.jboss.verifier.strategy.AbstractVerifier.hasLegalRMIIIOPArguments(Ljava.lang.reflect.Method;)Z(AbstractVerifier.java:163)
            at org.jboss.verifier.strategy.EJBVerifier21.verifySessionRemote(Lorg.jboss.metadata.SessionMetaData;)Z(EJBVerifier21.java:632)
            at org.jboss.verifier.strategy.EJBVerifier21.checkSession(Lorg.jboss.metadata.SessionMetaData;)V(EJBVerifier21.java:70)
            at org.jboss.verifier.BeanVerifier.verify(Ljava.net.URL;Lorg.jboss.metadata.ApplicationMetaData;Ljava.lang.ClassLoader;)V(BeanVerifier.java:166)
            at org.jboss.ejb.EJBDeployer.create(Lorg.jboss.deployment.DeploymentInfo;)V(EJBDeployer.java:537)
            at org.jboss.deployment.MainDeployer.create(Lorg.jboss.deployment.DeploymentInfo;)V(MainDeployer.java:918)
            at org.jboss.deployment.MainDeployer.deploy(Lorg.jboss.deployment.DeploymentInfo;)V(MainDeployer.java:774)
            at org.jboss.deployment.MainDeployer.deploy(Ljava.net.URL;)V(MainDeployer.java:738)
            at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
            at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
            at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
            at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
            at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(Lorg.jboss.mx.server.Invocation;)Ljava.lang.Object;(ReflectedDispatcher.java:141)
            at org.jboss.mx.server.Invocation.dispatch()Ljava.lang.Object;(Invocation.java:80)
            at org.jboss.mx.interceptor.AbstractInterceptor.invoke(Lorg.jboss.mx.server.Invocation;)Ljava.lang.Object;(AbstractInterceptor.java:121)
            at org.jboss.mx.server.Invocation.invoke()Ljava.lang.Object;(Invocation.java:74)
            at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(Lorg.jboss.mx.server.Invocation;)Ljava.lang.Object;(ModelMBeanOperationInterceptor.
    java:127)
            at org.jboss.mx.server.Invocation.invoke()Ljava.lang.Object;(Invocation.java:74)
            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object;(AbstractMBeanInvoker.j
    ava:249)
            at org.jboss.mx.server.MBeanServerImpl.invoke(Ljavax.management.ObjectName;Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.String;)Ljava.lang.Object
    ;(MBeanServerImpl.java:644)
            at org.jboss.mx.util.MBeanProxyExt.invoke(Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object;)Ljava.lang.Object;(MBeanProxyExt.java:177)
            at $Proxy8.deploy(Ljava.net.URL;)V(Unknown Source)
            at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(Lorg.jboss.deployment.scanner.URLDeploymentScanner$DeployedURL;)V(URLDeploymentScanner.ja
    va:325)
            at org.jboss.deployment.scanner.URLDeploymentScanner.scan()V(URLDeploymentScanner.java:501)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan()V(AbstractDeploymentScanner.java:204)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService()V(AbstractDeploymentScanner.java:277)
            at org.jboss.system.ServiceMBeanSupport.jbossInternalStart()V(ServiceMBeanSupport.java:272)
            at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(Ljava.lang.String;)V(ServiceMBeanSupport.java:222)
    10:17:47,789 ERROR [MainDeployer] could not create deployment: file:/MIDDLE/wkeditions/EXPLOIT/jboss/deploy/consoleLivraisonPersistance.jar
    org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
            at org.jboss.ejb.EJBDeployer.create(Lorg.jboss.deployment.DeploymentInfo;)V(EJBDeployer.java:553)
            at org.jboss.deployment.MainDeployer.create(Lorg.jboss.deployment.DeploymentInfo;)V(MainDeployer.java:918)
            at org.jboss.deployment.MainDeployer.deploy(Lorg.jboss.deployment.DeploymentInfo;)V(MainDeployer.java:774)
            at org.jboss.deployment.MainDeployer.deploy(Ljava.net.URL;)V(MainDeployer.java:738)

    Comme on peut le voir, les deux premiers ejb (deliveryFileSession et ProjectSession) sont verifiés et tout semble aller. Par contre, le troisieme ne semble pas trouver la classe action.Action.

    cette classe est generée par mon plug-in eclipse hibernateSynchronizer comme toute les autres (donc n'a rien de plus).

    on pourrait croire que la classe n'est pas presente (comme l'exception semble le dire) mais elle est bien la.
    cela ne semble pas etre un probleme de classPath non plus car jboss semble trouver les autres classes du jar. En effet, quand je "gomme" toute reference a la classe action.Action dans mon ejb, tout se passe bien.

    en supprimant la classe, en la recrant avec les methodes correspondantes mais vides (donc aucun import qui pourrait bloquer) ou en renommant, rien n'y fait, il ne trouve pas (mais semble trouver toutes les autres)

    Apres avoir un peu tenté tout ou presque, je reste totalement perplexe devant ce probleme. j'ai deja essayé de deployer sous forme ear, en deux jar different hors ear, en jar et sar (pour la partie hibernate), le probleme reste toujours present.

    voici la structure de mon ear :
    monEar
    lib
    |--|-mesClassesHibernate (avec un manifest referençant les jar necessaires)
    | |-les jars necessaires a hibernate (asm.jar asm-attrs.jar....)
    |
    |--META-INF
    | |
    | |-manifest.mf (vide)
    | |-application.xml
    |--mesEJB.jar (avec toutes mes classes et un manifest referençant mes classes hibernates)



    pour resumer :
    tout marche bien en local
    sur le jboss distant, NoClassDefFound sur une classe qui est bien presente.

    voila. je suis ouvert a toute demande concernant le contenu des manifest/ejb-jar.xml/application.xml et a une solution fonctionnelle devant ce probleme qui me bloque depuis presque une semaine...

  2. #2
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    monEar
    lib
    |--|-mesClassesHibernate (avec un manifest referençant les jar necessaires)
    | |-les jars necessaires a hibernate (asm.jar asm-attrs.jar....)
    |
    |--META-INF
    | |
    | |-manifest.mf (vide)
    | |-application.xml
    |--mesEJB.jar (avec toutes mes classes et un manifest referençant mes classes hibernates)
    C'est quoi ce répertoire "lib" ? Tout le reste est-il à l'intérieur ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/07/2009, 17h14
  2. Configuration Eclipse JBoss JPA/hibernate
    Par pruderic dans le forum JPA
    Réponses: 2
    Dernier message: 13/08/2008, 09h34
  3. JBoss tools hibernate
    Par newmar dans le forum Hibernate
    Réponses: 1
    Dernier message: 03/03/2008, 10h00
  4. Persistance de donnees avec Jboss et Hibernate
    Par Abdi2008 dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 29/12/2007, 21h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo