Я пытаюсь улучшить класс Entity, исходящий из другого Jar, используя плагин maven openjpa-maven-plugin
, и, к сожалению, я не нашел правильного пути для этого.
У меня есть один класс MyPojo
из модуля MyDomain
, упакованный в jar my-domain.jar
:
public class MyPojo {
private Long id;
...
}
В моем втором проекте MyJpa
package my-jpa.jar
он зависит от модуля 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>
и я использую XML-отображение orm.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?