[
https://issues.apache.org/jira/browse/GERONIMO-4468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12665060#action_12665060
]
Janko Heilgeist commented on GERONIMO-4468:
-------------------------------------------
David, I consulted the specification to refresh my memory on the
persistence.xml file. You're right, the specification says in section 6.2.6.1:
bq. The classes and/or jars that are named as part of a persistence unit must
be on the classpath; referencing them from the {{persistence.xml}} file does
not cause them to be placed on the classpath.
So, the mistake was mine: OpenJPA was correct to ignore the entities not on the
application classpath.
Regarding my use of the exclude-unlisted-classes property: I remembered its
usage like it is shown in example 4, section 6.2.1.8, that is specifying the
tag as {{<exclude-unlisted-classes/>}} sets the property to true; not
specifying the tag sets the property to false. Looking through the schema of
persistence.xml, I can see that it is actually used as
{{<exclude-unlisted-classes>true</exclude-unlisted-classes>}} and,
correspondingly, to set the property to false. The {{persistence.xml}} included
in my sample code didn't do, what I expected it to do.
My apologies for complicating the whole issue...
> <jar-file> elements are interpreted relatively to EAR root
> ----------------------------------------------------------
>
> Key: GERONIMO-4468
> URL: https://issues.apache.org/jira/browse/GERONIMO-4468
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Affects Versions: 2.1.3
> Reporter: Janko Heilgeist
> Assignee: Ivan
> Attachments: Geronimo-4468-01.patch, Geronimo-4468.patch,
> geronimo-jarfile.tar.gz, my-ear-1.0-SNAPSHOT.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.