[
https://issues.apache.org/jira/browse/OPENJPA-388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Dick closed OPENJPA-388.
--------------------------------
Resolution: Fixed
> MappingToolTask can't find persistence meta data.
> --------------------------------------------------
>
> Key: OPENJPA-388
> URL: https://issues.apache.org/jira/browse/OPENJPA-388
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 1.0.0
> Reporter: Michael Dick
> Assignee: Michael Dick
> Priority: Minor
> Fix For: 1.0.1, 1.1.0
>
>
> Running the MappingToolTask causes an error like this :
> Buildfile: build.xml
> clean:
> [delete] Deleting directory /home/mikedd/workspaces/jpa/ant/target
> compile:
> [mkdir] Created dir: /home/mikedd/workspaces/jpa/ant/target
> [javac] Compiling 1 source file to /home/mikedd/workspaces/jpa/ant/target
> [mkdir] Created dir: /home/mikedd/workspaces/jpa/ant/target/META-INF
> [copy] Copying 2 files to /home/mikedd/workspaces/jpa/ant/target/META-INF
> enhance:
> map:
> [mapping] 87 persistence-tests INFO [main] openjpa.jdbc.JDBC - Using
> dictionary class "org.apache.openjpa.jdbc.sql.DerbyDictionary".
> [mapping] 169 persistence-tests INFO [main] openjpa.Tool - Mapping tool
> running on type "class mdd.TestEntity" with action "buildSchema".
> [mapping] <openjpa-1.1.0-SNAPSHOT-r420667:580087 fatal user error>
> org.apache.openjpa.util.MetaDataException: Type "class mdd.TestEntity" does
> not have persistence metadata.
> [mapping] at
> org.apache.openjpa.jdbc.meta.MappingTool.getMapping(MappingTool.java:679)
> [mapping] at
> org.apache.openjpa.jdbc.meta.MappingTool.buildSchema(MappingTool.java:745)
> [mapping] at
> org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:643)
> [mapping] at
> org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:1066)
> [mapping] at
> org.apache.openjpa.jdbc.ant.MappingToolTask.executeOn(MappingToolTask.java:194)
> [mapping] at
> org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
> [mapping] at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> [mapping] at org.apache.tools.ant.Task.perform(Task.java:364)
> [mapping] at org.apache.tools.ant.Target.execute(Target.java:341)
> [mapping] at org.apache.tools.ant.Target.performTasks(Target.java:369)
> [mapping] at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
> [mapping] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
> [mapping] at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
> [mapping] at
> org.apache.tools.ant.Project.executeTargets(Project.java:1068)
> [mapping] at org.apache.tools.ant.Main.runBuild(Main.java:668)
> [mapping] at org.apache.tools.ant.Main.startAnt(Main.java:187)
> [mapping] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
> [mapping] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> Running from the command line generates the expected result :
> 52 persistence-tests INFO [main] openjpa.jdbc.JDBC - Using dictionary
> class "org.apache.openjpa.jdbc.sql.DerbyDictionary".
> 59 persistence-tests INFO [main] openjpa.Tool - No targets were given.
> Running on all classes listed in your configuration, or all persistent
> classes in the classpath if no classes are configured. Use -help to display
> tool usage information.
> 130 persistence-tests INFO [main] openjpa.Tool - Mapping tool running on
> type "class mdd.TestEntity" with action "buildSchema".
> 343 persistence-tests INFO [main] openjpa.Tool - Recording mapping and
> schema changes.
> The root problem here lies with the ant classloaders. The ant classloader
> appears to be unable to load the annotation classes unless they're found in
> ${ANT_HOME}/lib.
> Example :
> @Entity
> public class MyEntity {
> // . . .
> }
> MyEntity.class.isAnnotationPresent(Entity.class);
> // returns false with the ant classloader
> // returns true with the ant classloader if you copy
> geronimo-jpa_3.0_spec-1.0.jar to ${ANT_HOME}/lib
> // returns true if we create a temporary classloader - similar to the
> PCEnhancerTask.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.