gpt4 book ai didi

eclipse - 使用 Tomcat 和 Eclipse 增强 DataNucleus JPA 运行时

转载 作者:行者123 更新时间:2023-11-28 23:01:37 25 4
gpt4 key购买 nike

我正在通过使用 DataNucleus 作为我的 JPA 提供程序编写应用程序来学习 JavaEE。我使用 Eclipse IDE 和 Apache Tomcat 服务器进行测试,因此我想设置运行时增强以避免在每次测试部署时对我的类进行字节编译。

根据 documentation ,我将其添加到我的 persistence.xml 文件中:

<property name="datanucleus.jpa.addClassTransformer" value="true"/>

但是,无论如何,我的类(class)并没有得到加强。我收到的错误消息是:

org.datanucleus.exceptions.NucleusUserException: Found Meta-Data for
class pbf.model.Message but this class is either not enhanced or you
have multiple copies of jdo-api.jar in your CLASSPATH!! Make sure all
persistable classes are enhanced before running DataNucleus and/or the
CLASSPATH is correct.

关于 Java EE 是否也需要在命令行上指定 javaagent,文档有些模糊。如果是这样,我如何在 Eclipse 中使用 Tomcat 服务器来做到这一点?启动服务器时,我看不到自定义命令行和/或 Java 参数的选项。

我使用从 Maven 存储库下载的 datanucleus-accessplatform-jpa-rdbms v.3.3.0-release 以及所有依赖项。

最佳答案

Tomcat 不是“真正的”JavaEE 服务器 AFAIK,只是一个 servlet 容器,并且在这种情况下不实现 JPA 规范的 JavaEE 服务器方面(即使用 DataNucleus 在您的问题中注册的 JPA ClassTransformer,或使用正确的构造函数等创建 EMF)。因此,您应该通过 JVM 命令行使用标准 Java 方式来使用 Java 代理,这对于支持使用代理转换器的任何 JPA 实现都是相同的

关于eclipse - 使用 Tomcat 和 Eclipse 增强 DataNucleus JPA 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18056100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com