繁体   English   中英

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

[英]DataNucleus JPA runtime enhancement with Tomcat and Eclipse

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

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

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

但是,我的课程无论如何都不会得到增强。 我收到的错误消息是:

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实现都是相同的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM