Jboss 7部署/冲突问题

时间:2014-09-12 21:11:01

标签: java hibernate jpa jboss

我正在使用正在使用JPA,Hibernate的应用程序。我可以在Tomcat上部署,但在jBoss上它不会部署。我收到以下错误。

JBAS011466:PersistenceProvider' org.hibernate.jpa.HibernatePersistenceProvider'找不到

在做了一些谷歌搜索后,我发现一些文章表明我遇到了冲突,因为我将自己的JPA,Hibernate,Persistence API jar打包到我的WAR中。我想告诉jBoss使用我的那些文件版本。

我发现了一篇建议将以下内容放在WEB-INF / jboss-classloading.xml中的文章。

<classloading xmlns="urn:jboss:classloading:1.0"
    name="timesheet-api.war"
    domain="IsolatedDomain"
    import-all="false"
    parent-first="false" >
</classloading>

我这样做但是没有解决问题。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我的建议是将您的应用程序划分为符合域驱动设计,即将业务逻辑与前端逻辑等分开。

即。将所有不直接相关的东西输出到一个罐子中,并将你的网络逻辑保持在战争中 - 将它们打包在一起以将两者结合起来。 文件结构应该如下所示,并通过.pom中的依赖项组成:

|根/罐

| root / war(将jar作为依赖项)

| root / ear(将jar和war都作为依赖项)

  

Java EE应用程序在Java Archive(JAR)文件(Web)中提供   存档(WAR)文件或企业存档(EAR)文件。 WAR或EAR   file是标准的JAR(.jar)文件,扩展名为.war或.ear。   使用JAR,WAR和EAR文件和模块可以实现   使用一些来组装许多不同的Java EE应用程序   相同的组件。无需额外编码;这只是一个问题   将各种Java EE模块组装(或打包)到Java EE JAR中,   WAR或EAR文件。

根据我的理解,您希望拥有一个类似于大多数应用程序的应用程序&#34;企业应用程序&#34;,即具有许多EE技术的应用程序。您应该将其打包为.ear,然后将其部署在JBoss中,以使其无缝工作(并按照惯例)。

可以在此处找到更多信息:http://docs.oracle.com/javaee/6/tutorial/doc/bnaby.html