After 2 days finally I solved my problem. I had to add my classes path to the pathelements (<pathelement location="${basedir}/build/classes"/>). Don't know how I found it out. But I am really happy now. Here my new enhance.xml:
<?xml version="1.0" encoding="UTF-8"?> <project name="testJSF"> <path id="jpa.enhancement.classpath"> <pathelement location="build"/> <pathelement location="${basedir}/build/classes"/> <fileset dir="lib"> <include name="**/*.jar"/> </fileset> </path> <target name="enhance"> <taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask"> <classpath refid="jpa.enhancement.classpath"/> </taskdef> <openjpac> <config propertiesFile="src/META-INF/persistence.xml" /> <classpath refid="jpa.enhancement.classpath"/> <fileset dir="build"> <include name="**/*.class" /> </fileset> </openjpac> <echo message="Enhancing complete."/> </target> </project> After this change I get this Output: enhance: [openjpac] 13 TODO TRACE [Worker-26] openjpa.Runtime - Setting the following properties from "file:/C:/Users/vibranca/tsystems/EclipseWorkspace/testJSF/src/META-INF/persistence.xml" into configuration: {openjpa.ConnectionPassword=XXX, openjpa.ConnectionDriverName=oracle.jdbc.driver.OracleDriver, openjpa.MetaDataFactory=jpa(Types=openJPA.Todo_), openjpa.Log=DefaultLevel=TRACE, PersistenceVersion=2.0, openjpa.ConnectionUserName=XXX, openjpa.ConnectionURL=jdbc:oracle:thin:@XXXXXXXX, openjpa.Id=TODO} [openjpac] 39 TODO TRACE [Worker-26] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance. [openjpac] 426 TODO TRACE [Worker-26] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance. [openjpac] 460 TODO INFO [Worker-26] openjpa.Tool - Enhancer running on type "class openJPA.Todo_". [openjpac] 761 TODO TRACE [Worker-26] openjpa.MetaData - Loading metadata for "class openJPA.Todo_" under mode "[META][QUERY]". [openjpac] 766 TODO TRACE [Worker-26] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types. [openjpac] 772 TODO TRACE [Worker-26] openjpa.MetaData - The persistent unit root url is "null" [openjpac] 772 TODO TRACE [Worker-26] openjpa.MetaData - parsePersistentTypeNames() found [openJPA.Todo_]. [openjpac] 772 TODO TRACE [Worker-26] openjpa.MetaData - Found 1 classes with metadata in 7 milliseconds. [openjpac] 926 TODO TRACE [Worker-26] openjpa.MetaData - Parsing class "openJPA.Todo_". [openjpac] 993 TODO TRACE [Worker-26] openjpa.MetaData - Generating default metadata for type "openJPA.Todo_". [openjpac] 1003 TODO TRACE [Worker-26] openjpa.MetaData - Using reflection for metadata generation. [openjpac] 1065 TODO TRACE [Worker-26] openjpa.MetaData - Set persistence-capable superclass of "openJPA.Todo_" to "null". [openjpac] 1075 TODO TRACE [Worker-26] openjpa.MetaData - Resolving metadata for "openJPA.Todo_@1081964". [openjpac] 1075 TODO TRACE [Worker-26] openjpa.MetaData - Resolving field "openJPA.Todo_@1081964.description". [openjpac] 1127 TODO TRACE [Worker-26] openjpa.MetaData - Resolving field "openjpa.to...@1081964.id". [openjpac] 1127 TODO TRACE [Worker-26] openjpa.MetaData - Resolving field "openJPA.Todo_@1081964.priority". [openjpac] 1127 TODO TRACE [Worker-26] openjpa.MetaData - Resolving field "openJPA.Todo_@1081964.title". [openjpac] 1128 TODO TRACE [Worker-26] openjpa.MetaData - Preparing mapping for "openJPA.Todo_". [openjpac] 1128 TODO TRACE [Worker-26] openjpa.MetaData - Resolving mapping for "openJPA.Todo_@1081964". [openjpac] 1128 TODO TRACE [Worker-26] openjpa.Enhance - Type "class openJPA.Todo_" loaded by org.apache.openjpa.lib.util.TemporaryClassLoader@1330108 is already persistence capable; skipping. [openjpac] 1128 TODO TRACE [Worker-26] openjpa.Tool - The class is already persistence capable - no enhancement performed. [openjpac] 1128 TODO INFO [Worker-26] openjpa.Tool - Enhancer running on type "class beans.TodoBean". [openjpac] 1156 TODO TRACE [Worker-26] openjpa.MetaData - Loading metadata for "class beans.TodoBean" under mode "[META][QUERY]". [openjpac] 1156 TODO TRACE [Worker-26] openjpa.MetaData - Parsing class "beans.TodoBean". [openjpac] 1170 TODO TRACE [Worker-26] openjpa.Enhance - Enhancing type "class beans.TodoBean" loaded by org.apache.openjpa.lib.util.TemporaryClassLoader@1330108. [openjpac] 1252 TODO INFO [Worker-26] openjpa.Tool - No metadata was found for 1 classes; they have been enhanced as persistence-aware. If you intended for any of these classes to be persistence-capable, then this means that OpenJPA could not find any metadata for those classes. This can happen if the directory containing your metadata is not in your CLASSPATH, or if your metadata files are not named properly. See the documentation on metadata placement for more information. Persistence-aware classes: [class beans.TodoBean] [openjpac] 1252 TODO TRACE [Worker-26] openjpa.MetaData - Clearing metadata repository "org.apache.openjpa.meta.MetaDataRepository@257f04". [echo] Enhancing complete. BUILD SUCCESSFUL Total time: 2 seconds Now my application works. But I don't understand why the Ant builder wants to enhance my ManagedBean TodoBean class. As I mentioned before this class is not annotated as Entity. It is a normal Managed Bean. Can I ignore this Information: [openjpac] 1128 TODO INFO [Worker-26] openjpa.Tool - Enhancer running on type "class beans.TodoBean". [openjpac] 1156 TODO TRACE [Worker-26] openjpa.MetaData - Loading metadata for "class beans.TodoBean" under mode "[META][QUERY]". [openjpac] 1156 TODO TRACE [Worker-26] openjpa.MetaData - Parsing class "beans.TodoBean". [openjpac] 1170 TODO TRACE [Worker-26] openjpa.Enhance - Enhancing type "class beans.TodoBean" loaded by org.apache.openjpa.lib.util.TemporaryClassLoader@1330108. [openjpac] 1252 TODO INFO [Worker-26] openjpa.Tool - No metadata was found for 1 classes; they have been enhanced as persistence-aware. If you intended for any of these classes to be persistence-capable, then this means that OpenJPA could not find any metadata for those classes. This can happen if the directory containing your metadata is not in your CLASSPATH, or if your metadata files are not named properly. See the documentation on metadata placement for more information. Persistence-aware classes: [class beans.TodoBean] Some advice? Thanks in advance! -- View this message in context: http://openjpa.208410.n2.nabble.com/JPA-Enhancement-with-Eclipse-and-Ant-Class-not-found-Exception-tp7405353p7405805.html Sent from the OpenJPA Users mailing list archive at Nabble.com.