我正在尝试使用 maven 插件增强来自另一个 Jar 的 Entity 类openjpa-maven-plugin
,不幸的是我没有找到正确的方法来做到这一点。
我在 jar 中打包了一个MyPojo
模块类:MyDomain
my-domain.jar
public class MyPojo {
private Long id;
...
}
在我的第二个项目MyJpa
打包my-jpa.jar
中,它依赖于 module my-domain.jar
,并且 Maven 被配置为使用 Build Time OpenJPA Enhancer 并具有以下内容:
<plugin>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
<configuration>
<includes>**/entity/*.class</includes>
<addDefaultConstructor>true</addDefaultConstructor>
<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
</configuration>
<executions>
<execution>
<id>enhancer</id>
<phase>process-classes</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
</plugin>
我正在使用以下orm.xml
声明的 XML 映射persistence.xml
:
...
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<mapping-file>META-INF/orm.xml</mapping-file>
...
并使用如下所示的 orm.xml:
<entity class="MyPojo" access="FIELD">
<table name="MYPOJO"/>
<attributes>
<id name="id">
<generated-value strategy="AUTO"/>
</id>
</attributes>
</entity>
运行mvn install
给出以下错误:
此配置不允许运行时优化,但以下列出的类型在构建时或类加载时未使用 javaagent 增强:
当我将类移动MyPojo
到项目MyJpa
中(而不是项目 MyDomain)时,它可以工作。
所以我的问题是:我需要配置什么才能在构建时增强MyPojo
来自外部 Jar 的类?