Maven プロジェクトが大きくなったので、代わりに Maven マルチモジュール プロジェクトを作成することにしました。
Eclipselink のメタ モデル クラスの生成を除いて、問題なく動作しているように思えます。
mvn clean generate-sources
これは予期しない実行時の出力です。
[INFO] javac option: -proc:only
[INFO] javac option: -Aeclipselink.persistencexml=/home/glassfish/git/vehiclecms/vehiclecms-parent/vehiclecms-backend/src/main/resources/META-INF/persistence.xml
-Aeclipselink.persistenceunits=carcmsPU
-Aeclipselink.canonicalmodel.subpackage=metamodel
[INFO] javac option: -processor
[INFO] javac option: org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor
[INFO] javac option: -d
[INFO] javac option: /home/glassfish/git/vehiclecms/vehiclecms-parent/vehiclecms-backend/target/classes
[INFO] javac option: -s
[INFO] javac option: /home/glassfish/git/vehiclecms/vehiclecms-parent/vehiclecms-backend/target/generated-sources
[INFO] diagnostic warning: Supported source version 'RELEASE_6' from annotation processor 'org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor' less than -source '1.7'
[INFO] diagnostic Note: Creating static metadata factory ...
[INFO] diagnostic Note: Found Option : eclipselink.persistencexml, with value: /home/glassfish/git/vehiclecms/vehiclecms-parent/vehiclecms-backend/src/main/resources/META-INF/persistence.xml
-Aeclipselink.persistenceunits=carcmsPU
-Aeclipselink.canonicalmodel.subpackage=metamodel
[INFO] diagnostic Note: The persistence xml file [/home/glassfish/git/vehiclecms/vehiclecms-parent/vehiclecms-backend/src/main/resources/META-INF/persistence.xml
-Aeclipselink.persistenceunits=carcmsPU
-Aeclipselink.canonicalmodel.subpackage=metamodel] was not found. NO GENERATION will occur!! Please ensure a persistence xml file is available either from the CLASS_OUTPUT directory [META-INF/persistence.xml] or using the eclipselink.persistencexml property to specify its location.
この部分の pom.xml は次のとおりです。
<!-- Generate JPA Criteria Meta Model classes -->
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>2.0.6</version>
<executions>
<execution>
<id>process</id>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<outputDirectory>${basedir}/target/generated-sources</outputDirectory>
<compilerArguments>-Aeclipselink.persistencexml=${basedir}/src/main/resources/META-INF/persistence.xml
-Aeclipselink.persistenceunits=carcmsPU
-Aeclipselink.canonicalmodel.subpackage=metamodel</compilerArguments>
<processors>
<processor>org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor</processor>
</processors>
</configuration>
</execution>
</executions>
</plugin>
これが機能しない理由がわかりません。これは、単一モジュール プロジェクトと同じです。Maven または Eclipselink がマルチ モジュール プロジェクト内で動作しないように思われます。