当前位置: 首页 > 知识库问答 >
问题:

如何在构建时使用OpenJPA从单独的jar增强类?

谢翰学
2023-03-14

我试图使用maven pluginopenjpa-maven-plugin增强来自另一个Jar的实体类,不幸的是,我没有找到正确的方法。

public class MyPojo {

private Long id;

...

}
<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>
            ... 
    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>

    <mapping-file>META-INF/orm.xml</mapping-file>

 ...
    <entity class="MyPojo" access="FIELD">
    <table name="MYPOJO"/>
    <attributes>
        <id name="id">
            <generated-value strategy="AUTO"/>
        </id>
    </attributes>
    </entity>

所以我的问题是:为了能够在构建时增强来自外部Jar的类mypojo,我需要配置什么?

共有1个答案

华景焕
2023-03-14

我需要配置什么才能在构建时增强来自外部Jar的类MyPojo?

如果我正确理解你的问题,你不能在构建时增强住在jar中的类。如果你想以这种方式增强,你需要打开类,增强,然后拒绝。

 类似资料:
  • 我正在尝试增强(实体)类,因此不会出现以下异常: 说我正在努力坚持的实例并没有得到加强。 我遵循了这一点:https://openjpa.apache.org/enhancement-with-maven.html官方openjpa页面,并将添加到我的pom部分。xml: ,但我还是有例外。我正在使用Eclipse和内置命令

  • 问题内容: 我正在使用gradle构建的开源项目。我想生成一个(project)-sources.jar文件,可以将其加载到我的IDE(IntelliJ IDEA)中并通过该项目进行调试。我知道如何生成文件(如果可以生成的话)。 我浏览了该项目可用的gradle任务,但没有一个可以生成source jar文件。 为该项目生成源jar文件的最简单方法是什么? 将源添加到包含已编译的类文件的jar文件

  • 我有一个Spring mvc应用程序,它使用openjpa 2.1.1作为它的持久性框架。它在STS中作为Maven项目开发,并在vFaric TC Server(Tomcat 7)上本地运行。 当我们首次将war部署到Websphere 8.5时,我们遇到了类加载器与war文件中的以下3个openjpa JAR冲突: geronimo-jpa_2.0_spec-1.1。jargeronimo-j

  • 我已经搜索了好几个小时试图找到我要找的东西,但是关于JavaFX最新版本的信息似乎很少。 对于一个项目,我需要交付一个独立的可执行JAR文件,该文件可以在任何安装了java的计算机上运行。我使用的是JDK14和JavaFX14,而不是Maven或Gradle(尽管如果其中一个是必需的,我没有理由不能使用它们)。 我的项目在IntelliJ中运行得很好,VM选项指向我的JavaFX lib文件夹,但

  • 我正在逐个迭代字符串对象列表中的元素: 在这里,每次我调用list上的get()时,列表都会从其一端一直迭代到第i个元素——因此上面循环的复杂性是O(n^2)。 是a.)对于增强型for循环,与上面相同,还是b.)对于循环,将指针保持在最后一个指针所在的位置,因此下面循环的复杂性是O(n)? 如果上面的情况(b)——我想是这样的——在列表上使用迭代器有什么好处吗。这是简单的迭代--没有回头路 蒂亚

  • 我在这里找到了一些关于这个主题的线索,但没有一个建议对我有效。 经过几天疯狂的谷歌搜索和测试,我被难倒了。如有任何帮助,不胜感激,谢谢。