3 Replies Latest reply: Dec 29, 2010 12:32 PM by Benjamin Seyinbour RSS

    DeploymentException: 'No module with relative path' problem

    Benjamin Seyinbour Expert

      Hello JBoss World,  I have just set up JBossAS [6.0.0.20101110-CR1 "Neo"] on Linux. I have an ear, currently running in production, happily, for over a year on JBoss-5.1.0.GA (and JBoss-5.0.0 before that)  without any major problem.  Now I have updated the libraries, dtds etc and try to deploy the same ear file on JBoss-6.0.0-CR1 but I am getting the following problems:

       

      10:55:13,500 INFO  [PersistenceUnitValueMetaData] iDependOn persistence.unit:unitName=jboss-ejb3-timerservice-mk2.jar#timerdb 10:55:13,725 ERROR [AbstractKernelController] Error installing to PreReal: name=vfs:///opt/jboss/jboss-6.0.0-CR1/server/all/deploy/odmsEAR.ear state=PostClassLoader mode=Manual requiredState=PreReal: org.jboss.deployers.spi.DeploymentException: No module with relative path lib/odmsJPA.jar found  in set of modules for vfs:///opt/jboss/jboss-6.0.0-CR1/server/all/deploy/odmsEAR.ear [odmsEJB.jar, odmsWeb.war]   

       

      at org.jboss.deployment.ModuleNameDeployer.establishUniqueModuleName(ModuleNameDeployer.java:163) [:6.0.0.20101110-CR1] at org.jboss.deployment.ModuleNameDeployer.deploy(ModuleNameDeployer.java:118) [:6.0.0.20101110-CR1]      at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179) [:2.2.0.Alpha8]      at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1832) [:2.2.0.Alpha8]      at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1550) [:2.2.0.Alpha8]      at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1603) [:2.2.0.Alpha8]

       

       

      DEPLOYMENTS IN ERROR:   Deployment "vfs:///opt/jboss/jboss-6.0.0-CR1/server/all/deploy/odmsEAR.ear" is in error due to the following reason(s): org.jboss.deployers.spi.DeploymentException: No module with relative path lib/odmsJPA.jar found  in set of modules for vfs:///opt/jboss/jboss-6.0.0-CR1/server/all/deploy/odmsEAR.ear [odmsEJB.jar, odmsWeb.war] 

       

      Please see the full 'myserver.log' attached.  

       

      Here is my ear packaging structure 

      [my-ear] 

      - [lib]     

           |- odmsJPA.jar     

           |- odmsUtils.jar 

      - [META-INF]      

           |- application.xml     

           |- jboss-application.xml 

      - odmsEJB.jar 

      - odmsWeb.jar 

      - odmsEJBClient.jar 


      Here is also is my 'application.xml':

       

      <application...[too much to type here]>

      <display-name>odmsEAR<display-name>

      <module>

      <ejb>odmsEJB.jar</ejb>

      </module>

      <module>

      <web>

      <web-url>odmsWeb.war</web-url>

      <context-root> odmsWeb</context-root>      

      </web>

      <module>

      </application>

       

      For some reason aka "Neo" is treating the odmsJPA.jar  as a module which it is not. This happens whether I create the odmsJPA as JPA or Utility project. I think it is a bug but I am not sure hence this discussion. Has anyone encountered this problem using  JBossAS [6.0.0.20101110-CR1 "Neo"]? Please add your two cents to the discussion!

       

      Thanks.   

        • 1. Re: DeploymentException: 'No module with relative path' problem
          Benjamin Seyinbour Expert

          Over 14,500 downloads before me and yet no one has encountered this problem?  Oh well, I guess, I have to respond to myself.

           

          According to JSR 317, “A persistence unit is defined by a persistence.xml” And  file root of  a  persistence unit could be in "a jar file in the EAR library directory". However, this does not work in JBoss-6.0.0-CR1. The following exception is thrown:

           

          “...DeploymentException: 'No module with relative path' /lib/odmsJPA.jar.”

           

          I noted that this exception is not thrown when 'odmsJPA.jar' does not contain 'persistence.xml'.

           

          My workaround is to move persistence.xml from my JPA-JAR file to my EAR/META-INF directory. I also had to edit my persistence.xml to prefix with “/lib/odmsJPA.jar#” as follows

           

          <persistence-unit name="/lib/odmsJPA.jar#odmsPersistenceUnit" transaction-type="JTA">
          <jar-file>/lib/odmsJPA.jar</jar-file>

           

          I don't like it, but it works. I believe this is a JBoss-6.0.0-CR1 bug, right? I need consensus before I file it as a bug.

          • 2. Re: DeploymentException: 'No module with relative path' problem
            jaikiran pai Master

            10:55:13,725 ERROR [AbstractKernelController] Error installing to  PreReal:  name=vfs:///opt/jboss/jboss-6.0.0-CR1/server/all/deploy/odmsEAR.ear  state=PostClassLoader mode=Manual requiredState=PreReal:  org.jboss.deployers.spi.DeploymentException: No module with relative  path lib/odmsJPA.jar found  in set of modules for  vfs:///opt/jboss/jboss-6.0.0-CR1/server/all/deploy/odmsEAR.ear  [odmsEJB.jar, odmsWeb.war]  

             

            at  org.jboss.deployment.ModuleNameDeployer.establishUniqueModuleName(ModuleNameDeployer.java:163)

            This is a new piece of code introduced in AS6 (as compared to AS5). There might be some issue in there. I'll take a look later tomorrow at the code (am away currently).