0

我有两个项目(X,Y),其中项目 Y 依赖于项目 X,我想在 Payara 5 中部署项目 Y 的 .ear 文件(其中有 Y war 文件 + Y jar 文件 + X jar 文件),而部署我收到以下错误

" 调用类 org.glassfish.persistence.jpa.JPADeployer 准备方法 java.lang.RuntimeException 时出现异常:无法解析对应于 persistence-context-ref-name [com.abc.bcd.def.efg.dao 的持久性单元.AbstractDAO/em] 在名为 [Y.war] 的模块范围内。请验证您的应用程序。”

项目 X(peristence.xml):

<persistence-unit name="x_pu">
    <jta-data-source>x-data-source</jta-data-source>
    <class>com.abc.bcd.def.efg.entities.AbstractEntity</class>

项目 Y(persistence.xml)

<persistence-unit name="y_pu">
    <jta-data-source>y-data-source</jta-data-source>
    <class>com.abc.bcd.def.efg.entities.AbstractEntity</class>

并且如下所述,我在 X 项目的 theAbstractDAO.java 中定义了 @Persistencecontext 注释(在 error--peristence-context-ref-name [com.abc.bcd.def.efg.dao.AbstractDAO/em] 中提到)。

public abstract class AbstractDAO<T extends AbstractEntity> implements IDAO<T> {
      @PersistenceContext
      protected EntityManager em;

我尝试了不同的方法(比如在@Persistencecontext 之后定义单元名并在X 项目的web.xml 中定义相同),但没有任何效果。谁能帮我解决问题?

4

0 回答 0