openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Dick (JIRA)" <j...@apache.org>
Subject [jira] Closed: (OPENJPA-388) MappingToolTask can't find persistence meta data.
Date Tue, 30 Oct 2007 15:29:50 GMT

     [ 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.


Mime
View raw message