我有一個API用於我的數據庫模型和JPA控制器,並且將AProject
的jar添加到我的BProject
。當我在BProject
中聲明我的API時。其他項目的pesistence.xml
而錯誤是No Persistence provider for EntityManager named "MyPersistenceUnitName" in my "BProject"
。
是否有可能或應該在我的AProject
中創建我要求的內容?
我有一個API用於我的數據庫模型和JPA控制器,並且將AProject
的jar添加到我的BProject
。當我在BProject
中聲明我的API時。其他項目的pesistence.xml
而錯誤是No Persistence provider for EntityManager named "MyPersistenceUnitName" in my "BProject"
。
是否有可能或應該在我的AProject
中創建我要求的內容?
是的,您可以重複使用您在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文件的庫目錄