2011-06-10 4 views
0

J'utilise jboss6, bean piloté par message, hibernate et maven2 dans mon application lorsque j'essaie de compiler mon mdb en utilisant maven2 et de le déployer sur jboss6 j'obtiens l'erreur suivante:Impossible de déployer Maven jar (MDB) sur Jboss 6

Failed to create Resource MessageBean.jar - cause: java.lang.Exception:Failed to start deployment [vfs:///opt/jboss6/server/default/deploy/MessageBean.jar] during deployment of 'MessageBean.jar' - cause: java.lang.RuntimeException:org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS): DEPLOYMENTS MISSING DEPENDENCIES: Deployment "jboss.j2ee:jar=MessageBean.jar,name=MessageBean,service=EJB3" is missing the following dependencies: Dependency "interface org.jboss.ejb3.timerservice.spi.TimerServiceFactory" (should be in state "Installed", but is actually in state "Instantiated") DEPLOYMENTS IN ERROR: Deployment "interface org.jboss.ejb3.timerservice.spi.TimerServiceFactory" is in error due to the following reason(s): Instantiated -> org.jboss.deployers.client.spi.IncompleteDeploymentException:Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS): DEPLOYMENTS MISSING DEPENDENCIES: Deployment "jboss.j2ee:jar=MessageBean.jar,name=MessageBean,service=EJB3" is missing the following dependencies: Dependency "interface org.jboss.ejb3.timerservice.spi.TimerServiceFactory" (should be in state "Installed", but is actually in state "Instantiated") DEPLOYMENTS IN ERROR: Deployment "interface org.jboss.ejb3.timerservice.spi.TimerServiceFactory" is in error due to the following reason(s): Instantiated 

Voici mon pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mycompany</groupId> 
    <artifactId>MessageBean</artifactId> 
    <packaging>ejb</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>MessageBean Java EE 6 EJB</name> 
    <url>http://maven.apache.org</url> 

    <dependencies> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.12</version> 
     </dependency> 
     <dependency> 
      <groupId>org.jboss.ejb3</groupId> 
      <artifactId>jboss-ejb3-timerservice-spi</artifactId> 
      <version>1.0.4</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate</artifactId> 
      <version>3.0</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.jboss.ejb3</groupId> 
      <artifactId>jboss-ejb3-ext-api</artifactId> 
      <version>1.0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>jcl-over-slf4j</artifactId> 
      <version>1.5.6</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>1.5.6</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax</groupId> 
      <!-- 
      <artifactId>javaee-web-api</artifactId> 
      --> 
      <artifactId>javaee-api</artifactId> 

      <version>6.0</version> 
      <!-- Added below --> 
      <type>jar</type> 
<!--      modified by varsha --> 
      <scope>provided</scope> 
      <!-- end --> 
     </dependency> 
<!--  <dependency> 
      <groupId>org.jboss.ejb3</groupId> 
      <artifactId>jboss-ejb3-ext-api-impl</artifactId> 
      <version>1.1.1</version> 
     </dependency>--> 

     <dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-api</artifactId> 
      <version>6.0</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.2</version> 
      <scope>test</scope> 
     </dependency> 

    </dependencies> 

    <repositories> 
     <repository> 
      <id>java.net2</id> 
      <name>Java.Net Maven2 Repository, hosts the javaee-api dependency</name> 
      <url>http://download.java.net/maven/2</url> 
     </repository> 
     <repository> 
      <id>jboss-public-repository-group</id> 
      <name>JBoss Public Maven Repository Group</name> 
      <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url> 
      <layout>default</layout> 
      <releases> 
       <enabled>true</enabled> 
       <updatePolicy>never</updatePolicy> 
      </releases> 
      <snapshots> 
       <enabled>true</enabled> 
       <updatePolicy>never</updatePolicy> 
      </snapshots> 
     </repository> 
     <repository> 
      <id>jboss</id> 
      <url>http://repository.jboss.com/maven2</url> 
      <releases> 
       <enabled>true</enabled> 
      </releases> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 
     <repository> 
      <id>jboss-snapshot</id> 
      <url>http://snapshots.jboss.org/maven2</url> 
      <releases> 
       <enabled>true</enabled> 
      </releases> 
      <snapshots> 
       <enabled>true</enabled> 
      </snapshots> 
     </repository> 

    </repositories> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.0.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-ejb-plugin</artifactId> 
       <version>2.1</version> 
       <configuration> 
        <ejbVersion>3.1</ejbVersion> 
       </configuration> 
      </plugin> 


      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.5</source> 
        <target>1.5</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.0</version> 
      </plugin> 

<!--   <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>jboss-maven-plugin</artifactId> 
       <version>1.5.0</version> 
       <configuration> 

        <jbossHome>/opt/jboss6/server/default/deploy</jbossHome> 

        <jbossHome>/home/varsha/Downloads/jboss-6.0.0.Final/</jbossHome> 
        <serverName>default</serverName> 
        <fileName>target/MessageBean.jar</fileName> 
        <path>/UltimateSMS</path> 
       </configuration> 
      </plugin>--> 
     </plugins> 
     <finalName>MessageBean</finalName> 
    </build> 
    <profiles> 
     <profile> 
      <id>endorsed</id> 
      <activation> 
       <property> 
        <name>sun.boot.class.path</name> 
       </property> 
      </activation> 
      <build> 
       <plugins> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-compiler-plugin</artifactId> 
         <version>2.0.2</version> 
         <dependencies> 
          <dependency> 
           <groupId>javax</groupId> 
           <artifactId>javaee-endorsed-api</artifactId> 
           <version>6.0</version> 
          </dependency> 
         </dependencies> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
    </profiles> 
</project> 

Je n'utilise pas la minuterie EJB3 dans mon application dès maintenant

Ce qui semble être le problème? s'il vous plaît aider :(

Répondre

0

Ressemble au moment de quelque chose de votre déploiement .jar a déjà instancié le TimerServiceFactory.

Vérifiez vos dépendances, une fois que j'eu un problème similaire où l'un des pots j'ai eu comme Maven dependency avait en fait un jboss.xml dans son dossier META-INF et liait un bean que j'utilisais avec un nom JNDI que j'utilisais déjà

Il est difficile de chercher vos dépendances, mais cela ressemble à un conflit avec quelque chose.

Son possible que l'un de vos dépende ncies dépend d'une ancienne version de interface org.jboss.ejb3.timerservice.spi.TimerServiceFactory et elle est instanciée avant la vôtre.

Vérifiez votre dossier .m2 et voyez si vous avez téléchargé 2 versions de jboss-ejb3-timerservice-spi.

2

la dendency "jboss-ejb3-timerservice-spi" est probablement votre problème. Vous ne savez pas pourquoi vous devez en dépendre, mais vous ne devriez certainement pas l'inclure dans votre déploiement. Si est besoin d'une dépendance pour une raison quelconque, il doit être marqué comme portée "fourni". Toutes ces dépendances jboss et tous les autres jars qui se trouvent dans le répertoire jboss lib doivent être marqués comme scope "provided". En règle générale, votre application ne doit contenir aucun fichier jar qui fait partie du serveur jboss.