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

Glassfish et Payara Java Discussion :

[GlassFish 4.1] Echec de binding avec HK2-Locator


Sujet :

Glassfish et Payara Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 40
    Points : 22
    Points
    22
    Par défaut [GlassFish 4.1] Echec de binding avec HK2-Locator
    Le contexte est un EAR constitué de 5 WAR et 2 EJB. Les composants WAR utilisent CDI et Guice. Un WAR propose des services REST via Jersey. Ce dernier réplique le binding CDI dans HK2. Lors du déploiement de l'application le message suivant est affiché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        GRAVE: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: com.google.inject.CreationException: Unable to create injector, see the following errors:
     
        1) Error injecting constructor, java.lang.IllegalStateException: name=com.pa.api.i18n.APII18NModule
          at com.pa.HK2Linker.<init>(HK2Linker.java:23)
          at com.pa.APIJerseyModule.configureServlets(APIJerseyModule.java:49)
          while locating com.pa.HK2Linker
    com.pa.i18n.APII18NModule est inclus dans le WAR incluant les services REST. Il semble que hk2-locator n'est pas accès au packetage du composant WAR.

    hk2-locator est déployé dans le répertoire EAR/lib. Cela est nécessaire car l'utilisation de l'instance disponible sur Glassfish affiche le message suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            GRAVE: Exception during lifecycle processing
        java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.NoClassDefFoundError: org/jvnet/hk2/internal/ServiceLocatorImpl
    Comment fixé cette erreur ? Est-ce un problème de configuration du composant WAR ou EAR ?

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 40
    Points : 22
    Points
    22
    Par défaut
    Après avoir réinstaller Glassfish et l'application, le message d'erreur reste le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    juil. 03, 2015 7:15:12 AM org.glassfish.deployment.admin.DeployCommand execute
    GRAVE: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: com.google.inject.CreationException: Unable to create injector, see the following errors:
     
    1) Error injecting constructor, java.lang.IllegalStateException: name=com.pa.APIShiroWebModule
      at com.pa.HK2Linker.<init>(HK2Linker.java:23)
      at com.pa.APIJerseyModule.configureServlets(APIJerseyModule.java:49)
      while locating com.pa.HK2Linker
     
    1 error
    juil. 03, 2015 7:15:12 AM org.glassfish.deployment.autodeploy.AutoOperation run
    AVERTISSEMENT: Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: com.google.inject.CreationException: Unable to create injector, see the following errors:%%%EOL%%%%%%EOL%%%1) Error injecting constructor, java.lang.IllegalStateException: name=com.pa.APIShiroWebModule%%%EOL%%%  at com.pa.HK2Linker.<init>(HK2Linker.java:23)%%%EOL%%%  at com.pa.APIJerseyModule.configureServlets(APIJerseyModule.java:49)%%%EOL%%%  while locating com.pa.HK2Linker%%%EOL%%%%%%EOL%%%1 error. Please see server.log for more details.
    Il s'agit d'un problème avec le classpath. Comment faire pour que le classpath inclus les librairies Glassfish, EAR et WAR ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 40
    Points : 22
    Points
    22
    Par défaut
    Suite à modification du déploiement de l'application de manière à déployer dans chaque WAR les librairies nécessaires, et en conservant seulement les librairies requises par les composants EJBs dans le répertoire EAR/lib, un autre problème apparaît avec le message d'erreur est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    juil. 06, 2015 9:07:33 AM com.sun.enterprise.deployment.annotation.impl.ModuleScanner getElements
    AVERTISSEMENT: Error in annotation processing: {0}.
    java.lang.NoClassDefFoundError: com/google/inject/servlet/GuiceServletContextListener
    	at java.lang.ClassLoader.defineClass1(Native Method)
    	at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    	at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:801)
    Cette classe est hébergée par la librairie guice-servlet qui est déployée dans chaque WAR. Chaque composant WAR héberge une classe héritant de classe en question. Ces classes portent l'annotation WebListener.
    Quel peut être la cause de cette erreur ?

Discussions similaires

  1. Echec d'authentification avec Glassfish
    Par UnSeulMot dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 24/03/2010, 10h05
  2. Echec Envoi Mail avec MAPI et Outlook 2003
    Par exclusif dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 31/05/2007, 13h22
  3. problème de bindings avec DropDownList
    Par Vlatiska dans le forum ASP.NET
    Réponses: 14
    Dernier message: 17/03/2007, 14h04
  4. Réponses: 5
    Dernier message: 15/01/2007, 15h00
  5. Echec de connexion avec la BD
    Par manel007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/02/2005, 12h01

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