Search code examples
javajpaanteclipselinkmetamodel

Errors While Generating Metamodel Using ANT


I am trying to generate EclipseLink JPA metamodel using ANT

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="antan" name="Annotation">
    <property name="target" value="1.6" />
    <property name="source" value="1.6" />
    <property name="src.dir" value="D:/project/test/entity/" />
    <property name="target.dir" value="D:/project/test/target/" />
    <property name="src.lib" location="public_html/WEB-INF/lib" />
    <path id="classpath">
        <fileset dir="${src.lib}">
            <include name="*.jar" />
        </fileset>
    </path>
    <target name="antan">
        <javac srcdir="${src.dir}"
            destdir="${target.dir}"
            failonerror="false"
            fork="true">
            <compilerarg value="-proc:only"/>
            <classpath refid="classpath" />
        </javac>
    </target>
</project>

However I am getting the following errors, what could be the reason for this?

Bad service configuration file, or exception thrown while constructing Processor object: javax.annotation.processing.Processor: Provider org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor not found


Solution

  • The metamodel generator dependency is missing. Add the Maven dependency to the pom.xml file as follows:

    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
        <version>2.5.2</version>
    </dependency>
    

    Alternatively, find a recent JAR file on Maven Central.