Hi,
I am enhancing my persistent classes at build time via ant. If I compile
the classes and then run the enhancer, it works fine. If I run the enhancer
again over classes that have already been enhanced, I get a
ClassNotFoundException on the first persistent class it tries. According to
the documentation, this should work. Does anyone have any ideas of what I am
doing wrong?
I am using OpenJPA 2.0.0.
The exception I get is:
[openjpac] java.lang.IllegalArgumentException:
java.lang.ClassNotFoundException: bean.system.User
[openjpac] at serp.util.Strings.toClass(Strings.java:164)
[openjpac] at serp.util.Strings.toClass(Strings.java:108)
[openjpac] at serp.bytecode.BCClass.getType(BCClass.java:566)
[openjpac] at
org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256)
[openjpac] at
org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4653)
[openjpac] at
org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
[openjpac] at
org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:171)
[openjpac] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[openjpac] at org.apache.tools.ant.Task.perform(Task.java:364)
[openjpac] at org.apache.tools.ant.Target.execute(Target.java:341)
[openjpac] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[openjpac] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
[openjpac] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
[openjpac] at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
[openjpac] at
org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
[openjpac] at
org.apache.tools.ant.Project.executeTargets(Project.java:1068)
[openjpac] at
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
[openjpac] at
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
BUILD FAILED
C:\Documents and Settings\rsantos\workspace_jpa\openjpa\build.xml:32:
java.lang.IllegalArgumentException: java.lang.ClassNotFoundException:
bean.system.User
The ant target is:
<path id="project.classpath">
<fileset dir="webroot/WEB-INF/lib">
<!-- openjpa jar is here -->
<include name="**/*.jar"/>
</fileset>
</path>
<target name="enhance">
<taskdef name="openjpac" classpathref="project.classpath"
classname="org.apache.openjpa.ant.PCEnhancerTask"/>
<openjpac> <!-- LINE 32 of build.xml -->
<config propertiesFile="java/META-INF/persistence.xml"/>
<classpath>
<pathelement location="webroot/WEB-INF/classes" />
</classpath>
</openjpac>
</target>
Thanks,
Rute
--
View this message in context:
http://openjpa.208410.n2.nabble.com/ClassNotFoundException-in-PCEnhancerTask-when-class-has-already-been-enhanced-tp5010582p5010582.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.