14 Replies Latest reply on Jan 15, 2010 7:40 AM by jaikiran pai

    Issue specifying the <jar-file> in persistence.xml in JBOSS 5 on linux system

    Dragos Bobes Newbie

      Hello,

       

      My application deploys without any errors in JBOSS 5.1.0GA on a windows system but it fails when deployed in JBOSS 5.1.0GA on Red Hat 5.1.

      This is my ear file structure:

       

      myapp.ear
      +- lib/
      | +- extejbmodule.jar
      | +- ...
      +- META-INF/
      | +- persistence.xml
      | +- ...
      +- myseammodule.jar
      +- mywebmodule.war
      +- ...

       

      Right now the myseammodule.jar also contains the JPA entity mappings and I added the <jar-file> tag to my persistence.xml to have this jar scanned for mappings. The persistence.xml looks like this:

       

      <?xml version="1.0" encoding="UTF-8"?>
      <!-- Persistence deployment descriptor for prod profile -->
      <persistence xmlns="http://java.sun.com/xml/ns/persistence" 
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
                     http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
                   version="1.0">
                   
         <persistence-unit name="myapppu">
            <provider>org.hibernate.ejb.HibernatePersistence</provider>
            <jta-data-source>java:/jdbc/myAppDS</jta-data-source>
            <jar-file>myapp.ear/myseammodule.jar</jar-file>
            <properties>
               <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
               <property name="hibernate.hbm2ddl.auto" value="none"/>
               <property name="hibernate.show_sql" value="true"/>
               <property name="hibernate.jdbc.batch_size" value="20"/>
               <property name="jboss.entity.manager.factory.jndi.name" value="java:/myappEntityManagerFactory"/>
            </properties>
         </persistence-unit>
          
      </persistence>
      
      

       

      When the ear is deployed on JBOSS 5.1.0GA on a linux system (Red Hat 5.1) the server throws an error:

       

          2010-01-11 09:31:38,554 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (HDScanner) Error installing to Start: name=persistence.unit:unitName=myapp.ear/#myapppu state=Create
          java.lang.RuntimeException: could not find relative path: myapp.ear/myseammodule.jar
               at org.jboss.jpa.deployment.PersistenceUnitDeployment.getRelativeURL(PersistenceUnitDeployment.java:208)
               at org.jboss.jpa.deployment.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:267)
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)


      ...


      DEPLOYMENTS IN ERROR:
            Deployment "<UNKNOWN jboss.j2ee:ear=myapp.ear,jar=myapp.ear,name=Server,service=EJB3>" is in error due to the following reason(s): ** UNRESOLVED Demands 'persistence.unit:unitName=myapp.ear/#myapppu' **
            Deployment "persistence.unit:unitName=myapp.ear/#myapppu" is in error due to the following reason(s): java.lang.RuntimeException: could not find child 'myapp.ear\myapppu.jar' on 'DelegatingHandler@1179491551[path= context=file:/usr/local/jboss-5.1.0.GA/server/default/tmp/a3p5u2o-ls1ivl-g4bbjti5-1-g4bcqt45-as/myapp.ear real=vfszip:/usr/local/jboss-5.1.0.GA/server/default/tmp/a3p5u2o-ls1ivl-g4bbjti5-1-g4bcqt45-as/myapp.ear]'    

       

      One note, the Server bean is from extejbmodule.jar (I'm not sure if this is important).

       

      Any ideas why this configuration doesn't work on the linux system?

       

      Thank you,

      Dragos