2014-09-12 122 views
1

我正在使用JPA,Hibernate的應用程序。我可以在Tomcat上部署,但在jBoss上它不會部署。我收到以下錯誤。Jboss 7部署/衝突問題

JBAS011466:PersistenceProvider類「org.hibernate.jpa.HibernatePersistenceProvider」未找到

做了一些谷歌搜索,我發現一些文章,建議我越來越衝突,因爲我有自己的JPA,休眠,持久性API罐包裝後進入我的戰爭。我想告訴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

我的建議是劃分您的應用程序,以符合領域驅動設計,從前端邏輯等

即即獨立的業務邏輯將所有不直接相關的東西導出到jar中,並將你的web邏輯保存在戰爭中 - 將它們包裝在耳朵中以將兩者結合起來。 文件結構應該像下面,並通過在.pom依賴組成:

|根/罐

|根/戰爭(有罐子作爲依賴)

|根/耳(既有罐子和戰爭的依賴)

Java EE應用程序的Java歸檔(JAR)文件傳輸,網絡 存檔(WAR)文件或企業歸檔(EAR)文件。 WAR或EAR 文件是擴展名爲.war或.ear的標準JAR(.jar)文件。 使用JAR,WAR和EAR文件和模塊可使 使用某些 相同組件組裝大量不同的Java EE應用程序。不需要額外的編碼;僅將 組裝(或打包)到Java EE JAR, WAR或EAR文件中的各種Java EE模塊。

根據我的理解,您希望有一個類似於最常見的「企業應用程序」的應用程序,即具有許多EE技術的應用程序。你應該將它打包成一個.ear文件,然後將其部署到JBoss中,以便它能夠無縫工作(並按照慣例)。

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

+0

我沒有與任何經驗,有沒有辦法與JBoss部署,structure.xml辦呢? – greyfox 2014-09-13 00:58:46