小编JS *_*val的帖子

在EAP 6.4.0中使用JPA 2.1

到目前为止,我没有成功地搜索了这个问题的解决方案.

我们正在将我们的应用程序迁移到EAP 6.4.0,我们的应用程序依赖于JPA 2.1.但是,JBoss是一个Java EE 6服务器,因此包含模块形式的JPA 2.0.

我尝试将JPA API jar直接包含在我的WEB-INF/lib目录中,认为类加载器比系统中的那个更喜欢这个.

我试图在我的耳朵中包含一个jboss-deployment-structure.xml文件.我在耳朵/ META-INF,ear/war/META-INF和ear/war/WEB-INF下试了一下.

在jboss-deployment-structure.xml文件中,我尝试:排除javax.persistence.api模块使用JPA 2.1创建我自己的模块并向其添加依赖项,排除jpa子系统

我还尝试在位于jboss-eap-6.4.0\modules\system\layers\base\javax\persistence\api\main下的javax.persistence.api module.xml文件中将export属性设置为false.

我尝试从standalone.xml中删除jpa子系统.

所有这些都导致了JPA 2.0 jar的使用.

我让它工作的唯一方法是替换模块目录中的实际jar(jboss-eap-6.4.0\modules\system\layers\base\javax\persistence\api\main).但这不是一个有效的解决方案,因为服务器中的其他应用程序或服务实际上可能需要旧版本的API.

有没有办法正确地做到这一点(没有迁移到另一台服务器,也没有更改代码)?

jboss jpa classpath classloader

5
推荐指数
1
解决办法
3395
查看次数

标签 统计

classloader ×1

classpath ×1

jboss ×1

jpa ×1