由于缺乏知识,我遇到了一个问题。我使用OpenJPA作为JPA实现和Tomcat服务器来运行我的应用程序,也使用Idea12作为ide。
我有一个任务-提供开放的jpa增强在构建时。为此,首先我拒绝OpenJPA在运行时通过将此属性添加到persistence.xml来增强实体:
<property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
现在,OpenJPA不会像我希望的那样在运行时增强类。
之后,我在ant-build.xml中编写了一个增强目标。它工作正常,并使用编译的类创建/build目录。如果我查看已编译的类代码,就会看到OpenJPA - pcStateManager和其他字段的附加字段。好吧,那太好了。
现在的问题是,当我通过Idea开始Tomcat的时候,它不需要我的强化课程。我想Tomcat甚至不知道,我加强了我的课程。似乎他再次编译了代码,并使用未增强的类启动了应用程序。当然,当我开始使用数据库时,会有一个例外。
那么,是否可以配置Tomcat,所以他从/build目录中获取了我的类?
我也尝试使用一些想法插件来增强,但它们并没有解决问题--我也有同样的例外,类是未增强的。
upd两个增强的idea插件: OpenJPA增强器和数据核子与OpenJPA扩展集成并不能解决这个问题。所以这让我觉得有些地方出了问题。也许主要的问题是猫的设置?
发布于 2013-07-04 16:32:10
如果有人感兴趣,以下是解决办法:
https://stackoverflow.com/questions/17260765
复制相似问题