Un composant nommé "XXX" est déjà défini dans ce module dans JBoss 7.1.1

Je n'ai pas créé le nom du haricot avec TimerServiceDispatcher dans ma demande. Mais, le JBoss jeter l'exception en raison de TimerServiceDispatcher est déjà défini dans ce module. Je ne sais pas quel est le problème. Ce que je suis absent? Ce que je dois faire?

ma demande utilise les couches 2.3, 3.0 et JPA 2.0. Je n'utilise pas EJB.

11:29:01,531 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015876: Starting deployment of "MRBS.war"
11:29:04,217 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC00001: Failed to start service jboss.deployment.unit."MRBS.war".PARSE: org.jboss.msc.service.StartExcept
ion in service jboss.deployment.unit."MRBS.war".PARSE: Failed to process phase PARSE of deployment "MRBS.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_23]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_23]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_23]
Caused by: java.lang.IllegalArgumentException: JBAS011046: A component named 'TimerServiceDispatcher' is already defined in this module
    at org.jboss.as.ee.component.EEModuleDescription.addComponent(EEModuleDescription.java:137)
    at org.jboss.as.ejb3.deployment.processors.EJBComponentDescriptionFactory.addComponent(EJBComponentDescriptionFactory.java:60)
    at org.jboss.as.ejb3.deployment.processors.SessionBeanComponentDescriptionFactory.processSessionBeans(SessionBeanComponentDescriptionFactory.java:157)
    at org.jboss.as.ejb3.deployment.processors.SessionBeanComponentDescriptionFactory.processAnnotations(SessionBeanComponentDescriptionFactory.java:86)
    at org.jboss.as.ejb3.deployment.processors.AnnotatedEJBComponentDescriptionDeploymentUnitProcessor.processAnnotations(AnnotatedEJBComponentDescriptionDeploymentUnitProcessor.java:
58)
    at org.jboss.as.ejb3.deployment.processors.AbstractDeploymentUnitProcessor.deploy(AbstractDeploymentUnitProcessor.java:81)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 5 more

11:29:04,230 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "MRBS.war" was rolled back with failure message {"JBAS014671: Failed servi
ces" => {"jboss.deployment.unit."MRBS.war".PARSE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit."MRBS.war".PARSE: Failed to process phase PARSE of d
eployment "MRBS.war""}}
11:29:04,292 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-6) JBAS015877: Stopped deployment MRBS.war in 61ms
11:29:04,294 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
JBAS014777:   Services which failed to start:      service jboss.deployment.unit."MRBS.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."MRBS.war".
PARSE: Failed to process phase PARSE of deployment "MRBS.war"

jboss-déploiement de la structure.xml

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
  <deployment>
      <dependencies>
          <module name="org.hibernate" export="true"/>
          <module name="javax.faces.api" export="true" />
          <module name="com.sun.jsf-impl" export="true"/>
          <module name="org.dom4j" export="true"/>
          <module name="org.hibernate.validator" export="true"/>
        </dependencies>
        <exclusions>
            <module name="org.apache.log4j" />
        </exclusions>       
  </deployment>  
</jboss-deployment-structure> 

Structure Du Dépôt

MRBS.war
    -index.html
    +web-page-pakage
    +META-INF
    +WEB-INF
        +classes
        +lib
           aopalliance.jar
            commons-beanutils.jar
            commons-codec.jar
            commons-lang-2.5.jar
            drools-compiler.jar
            drools-core.jar
            drools-decisiontables.jar
            drools-templates.jar
            eclipselink.jar
            el-api.jar
            guava.jar
            guice.jar
            hibernate-ehcache.jar
            httpclient.jar
            httpcore.jar
            javax.persistence_2.0.1.v201006031150.jar
            jboss-el.jar
            jboss-seam-debug.jar
            jboss-seam-excel.jar
            jboss-seam-ioc.jar
            jboss-seam-mail.jar
            jboss-seam-pdf.jar
            jboss-seam-ui.jar
            jboss-seam.jar
            junit-4.8.1.jar
            log4j-1.2.14.jar
            mysql-connector-java-5.1.6-bin.jar
            primefaces-3.3.1.jar
            sac.jar
            spring-aop.jar
            spring-asm.jar
            spring-beans.jar
            spring-context.jar
            spring-core.jar
            spring-expression.jar
            spring-jdbc.jar
            spring-orm.jar
            spring-tx.jar
            spring-web.jar
            urlrewritefilter.jar
            xercesImpl.jar
            xml-apis.jar
        -components.xml     
        -faces-config.xml
        -jboss-deployment-structure.xml
        -pages.xml
        -web.xml
18
demandé sur Vadim Kotov 2012-11-01 09:15:26

8 réponses

j'ai eu un haricot annoté avec @Singleton et @Stateless qui a déclenché cette erreur. Mon code était évidemment erroné, mais le message et les messages comme celui-ci m'ont conduit dans la mauvaise direction pendant un certain temps.

20
répondu Piwaf 2014-03-12 22:25:41

je sais que la réponse à celle-ci. J'ai passé des semaines avec le soutien de JBoss à cause de mon entêtement. Ils prévoient de fournir des correctifs ou au moins de meilleurs messages avec EAP 6.2.x version.

le problème se pose avec les préprocesseurs D'Annotation EJB-qui prennent votre guerre, et les libs compilés dedans et les scannent pour les annotations EJB. Certains fichiers Jar peuvent avoir une entrée dans le Manifeste pour " Classpath:."(ou quel que soit, mais avec"."comme l'une des entrées). Cela provoque l'annotation préprocesseur pour traiter idiotiquement tous les fichiers jar dans le WEB-inf lib à nouveau. Enfin, il va se déplacer vers un fichier jar avec une annotation EJB qu'il a déjà vue, car il a déjà été traité plus tôt - ce qui l'amène à se plaindre avec "un composant nommé xxx est déjà défini".

donc la partie la plus frustrante ici est que c'est probablement un vieux fichier jar dont vous ne vous souciez même pas qui a cette entrée de manifeste de Classpath inutile en elle - et provoque JBoss à une boucle sur lui-même.

11
répondu djchapm 2018-02-13 12:21:45

j'ai eu le même problème, mais pour moi, aucune des solutions proposées aidé. J'ai remarqué que le EJB JAR présent twice (newest version and older version)WEB.WAR.

C'était parce que le maven l'opération clean sur le projet parent à eclipse ne s'est pas répercutée sur les projets enfants. Je l'ai corrigé en faisant un simple "mvn clean" sur le child project.

6
répondu Andreas Bögelein 2017-01-25 15:20:16

l'Exécution de l'Maven objectifs:

  1. wildfly:undeploy
  2. clean
  3. wildfly:deploy

a aidé dans notre cas:

[erreur] causée par: java.lang.IllegalArgumentException: WFLYEE0040: un composant nommé 'xxx' est déjà défini dans ce module"}

4
répondu Jens Piegsa 2015-12-10 09:36:49

j'ai eu le même problème à IntelliJ. La raison en est que IntelliJ a créé un fichier WAR avec mes classes à la fois dans WEB-INF/classes et comme un fichier Jar séparé dans WEB-INF/lib.

il m'a fallu un certain temps pour découvrir pourquoi IntelliJ a fait cela. La raison réside dans le fichier de dialogue - > Structure du projet -> artefacts: IntelliJ Project Structure Dialogue

après avoir supprimé la sortie de compilation' vertrag-ui-war', l'erreur ne s'est plus produite. Je ne sais pas pourquoi IntelliJ a fait ça. réglage - je définitivement n'a pas défini ce.

4
répondu stefan.m 2018-02-13 12:19:40

Supprimer @Singleton a corrigé cette erreur pour moi. Aucune idée de pourquoi.

1
répondu Brooks 2016-02-11 17:54:09

le problème n'est pas que vous ne créez pas TimeServiceDispatcher c'est une classe de couture de cadre org.jboss.seam.async.TimerServiceDispatcher , sa couture fw classe.

Maintenant, à propos de l'erreur.

ce genre d'erreur se produit lorsqu'il existe des conflits dans les bibliothèques fournies avec l'application et par serveur. Son sérieux très commun avec JBoss 7.1 et très frustrant.

Vous avez besoin de savoir

  1. ce que toutes les bibliothèques et il version Sont u packaging à l'intérieur de votre application ?
  2. ce que toutes les bibliothèques ci-dessus et la version sont fournies par JBoss 7.1

maintenant pour les bibliothèques qui sont des deux côtés vérifiez la version

si la version de l'application et JBoss est la même, alors supprimez ce jar de L'Application (suggéré) (sinon vous pouvez configurer dans la structure de déploiement.xml à utiliser)

si la version de l'application jar et jboss est différent, dans ce cas , vous devrez configurer le déploiement descripteur lequel choisir.

0
répondu Mukul Goel 2012-11-01 05:43:52

alors que copier coller et créer de nouveaux composants, j'ai oublié de mettre à jour la valeur que le @Stateless(value) annotation accepter dans les nouveaux composants. Cela signifie que j'avais deux composants avec le même nom et j'ai eu cette erreur. Espérons que cela aide quelqu'un.

0
répondu Skurpi 2015-12-07 09:52:02