2013-07-14 41 views
0

我有一個API用於我的數據庫模型和JPA控制器,並且將AProject的jar添加到我的BProject。當我在BProject中聲明我的API時。其他項目的pesistence.xml

而錯誤是No Persistence provider for EntityManager named "MyPersistenceUnitName" in my "BProject"

是否有可能或應該在我的AProject中創建我要求的內容?

回答

0

是的,您可以重複使用您在AProject.jar中的代碼。據persistence chapter of Java EE 6 Tutorial

的JAR文件或目錄,它的META-INF目錄包含 的persistence.xml被稱爲持久化單元的根。持久單元的範圍 由持久單元的根確定。 每個持久性單元必須標識一個名稱,該名稱是持久性單元的作用域唯一的名稱。

可以將持久單元打包爲WAR或EJB JAR文件的一部分,也可以將其打包爲JAR文件,然後將其包含在WAR或EAR文件中。

如果將持久單元作爲EJB JAR 文件中的一組類進行打包,則應將persistence.xml放入EJB JAR的META-INF 目錄中。

如果打包持久性單元作爲一個WAR文件一組類, 的persistence.xml應位於WAR文件的 WEB-INF /班/ META-INF目錄下。

如果你在一個JAR文件,該文件將包含在WAR或EAR文件 打包持久化單元,該JAR文件應位於WAR

的 要麼

的WEB-INF/lib目錄

EAR文件的庫目錄