Benjamin Marwell created OPENJPA-2892:
-----------------------------------------

             Summary: persistence.xml: <jar-file> should take directory
                 Key: OPENJPA-2892
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2892
             Project: OpenJPA
          Issue Type: Bug
          Components: jpa, usability
    Affects Versions: 3.2.0
            Reporter: Benjamin Marwell


This is a legal statement in hibernate and eclipselink, but not in OpenJPA:

h2. setup

{code:xml}
<jar-file>file://${project.build.directory}</jar-file>
{code}

This will resolve to something like:
{code:xml}
<jar-file>file:////home/user/git/apache/project/target/classes</jar-file>
{code}

h2. Expected output

classes will be loaded

h2. actual output

java.lang.IllegalArgumentException: The jar resource 
"file:////home/user/git/apache/project/target/classes" cannot be loaded

h2. where to change

org/apache/openjpa/meta/AbstractCFMetaDataFactory.java:700

[~rmannibucau] found this snippet which does not take directories into account:

{code:java}
                    for (Object obj : urls) {
                        url = (URL) obj;
                        clss = cparser.parseTypeNames(new URLMetaDataIterator
                                (url));
                        List<String> newNames = Arrays.asList(clss);
                        if (log.isTraceEnabled())
                            log.trace(_loc.get("scan-found-names", newNames,
                                    rsrc));
                        names.addAll(newNames);
                        mapPersistentTypeNames(url, clss);
                    }

{code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to