[ 
https://issues.apache.org/jira/browse/GERONIMO-4468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Forrest Xia updated GERONIMO-4468:
----------------------------------

    Attachment: my-ear-1.0-SNAPSHOT_PUjarinwebclasses_ejbjarinweblib.ear

More tries:
1. To my self question 1, the answer is "conditional" yes. we need to add a 
ejb-module in application.xml, and set ejb jar manifest having a Class-Path 
entry to the PU jar file.
2. Tried put PU in web module library directory with attached 
"my-ear-1.0-SNAPSHOT_PUjarinwebclasses_ejbjarinweblib.ear", but seems Geronimo 
did not allow PU in web module. The exception as following. Is it a bug?

At least one deployment 
problem:[org.apache.geronimo.common.DeploymentException: Could not resolve 
reference at deploy time for query 
com.heilgeist.testcase.geronimo.jarfile/my-ear/1.0-SNAPSHOT/ear?J2EEApplication=com.heilgeist.testcase.geronimo.jarfile/my-ear/1.0-SNAPSHOT/ear,PersistenceUnitModule=WEB-INF/lib/my-pu-1.0-SNAPSHOT_inclasses.jar,WebModule=my-war-1.0-SNAPSHOT.war,j2eeType=PersistenceUnit,name=myPU#.
 No GBean references found.]
org.apache.geronimo.common.DeploymentException: At least one deployment 
problem:[org.apache.geronimo.common.DeploymentException: Could not resolve 
reference at deploy time for query 
com.heilgeist.testcase.geronimo.jarfile/my-ear/1.0-SNAPSHOT/ear?J2EEApplication=com.heilgeist.testcase.geronimo.jarfile/my-ear/1.0-SNAPSHOT/ear,PersistenceUnitModule=WEB-INF/lib/my-pu-1.0-SNAPSHOT_inclasses.jar,WebModule=my-war-1.0-SNAPSHOT.war,j2eeType=PersistenceUnit,name=myPU#.
 No GBean references found.]
        at 
org.apache.geronimo.persistence.builder.PersistenceUnitRefBuilder.buildNaming(PersistenceUnitRefBuilder.java:154)
        at 
org.apache.geronimo.j2ee.deployment.NamingBuilderCollection.buildNaming(NamingBuilderCollection.java:53)
        at 
org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.configureBasicWebModuleAttributes(AbstractWebModuleBuilder.java:842)
        at 
org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.addGBeans(TomcatModuleBuilder.java:347)
        at 
org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.addGBeans(SwitchingModuleBuilder.java:165)
        at 
org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:647)
        at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:254)
        at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:133)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:599)
        at 
org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
        at 
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
        at 
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:867)
        at 
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
        at 
org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy(AbstractDeployCommand.java:116)
        at 
org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(DistributeCommand.java:61)
        at java.lang.Thread.run(Thread.java:735)


> <jar-file> elements are interpreted relatively to EAR root instead of 
> persistence unit
> --------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-4468
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-4468
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: persistence
>    Affects Versions: 2.1.3
>            Reporter: Janko Heilgeist
>            Assignee: Ivan
>             Fix For: 2.1.4, 2.2
>
>         Attachments: Geronimo-4468-01.patch, Geronimo-4468.patch, 
> geronimo-jarfile.tar.gz, my-ear-1.0-SNAPSHOT.ear, 
> my-ear-1.0-SNAPSHOT_PUjarfileinEARroot.ear, 
> my-ear-1.0-SNAPSHOT_PUjarinwebclasses_ejbjarinweblib.ear
>
>
> The <jar-file> elements in a persistence.xml are wrongly interpreted as 
> relative to the EAR's root.
> EJB 3.0 persistence spec, section 6.2:
> {quote}
> [...] A persistence unit is defined by a persistence.xml file. The jar file 
> or directory whose META-INF directory contains the persistence.xml file is 
> termed the root of the persistence unit. [...]
> {quote}
> EJB 3.0 persistence spec, section 6.2:
> {quote}
> One or more JAR files may be specified using the jar-file elements [...] Such 
> JAR files are specified relative to the root of the persistence unit [...].
> {quote}
> The attached EAR is correctly verified by the Glassfish verifier. Deploying 
> it on Geronimo 2.1.3 or 2.2-SNAPSHOT results in a successful deployment, 
> while on the console OpenJPA throws exceptions because it tries to resolve 
> the jar-file paths relative to the EAR's root:
> {quote}
> <openjpa-1.0.3-r420667:677674 nonfatal general error> 
> org.apache.openjpa.persistence.PersistenceException: 
> $HOME/geronimo-tomcat6-javaee5-2.1.3/repository/com/heilgeist/testcase/geronimo/jarfile/my-ear/1.0-SNAPSHOT/my-ear-1.0-SNAPSHOT.ear/my-entities1-1.0-SNAPSHOT.jar
>  (No such file or directory)
> <openjpa-1.2.0-r422266:683325 nonfatal general error> 
> org.apache.openjpa.persistence.PersistenceException: 
> $HOME/geronimo-tomcat6-javaee5-2.2-SNAPSHOT/repository/com/heilgeist/testcase/geronimo/jarfile/my-ear/1.0-SNAPSHOT/my-entities2-1.0-SNAPSHOT.jar
>  (No such file or directory)
> {quote}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to