Подтвердить что ты не робот

Как повысить класс из отдельной банки во время сборки с помощью openJPA?

Я пытаюсь улучшить класс 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?

4b9b3361

Ответ 1

что мне нужно настроить для того, чтобы усовершенствовать во время сборки класс MyPojo, исходящий из внешнего Jar?

Если я правильно понял ваш вопрос, вы не сможете улучшить класс, который живет внутри банки во время сборки. Если вы хотите улучшить таким образом, вам нужно развязать класс, улучшить, а затем перекрасить.