我有两个项目(x,y),其中项目y依赖于项目x,我想在payara 5中部署项目y的.ear文件(其中有y war文件+y jar文件+x jar文件),在部署时我得到以下错误
“调用类org.glassfish.persistence.jpa.jpadeployer prepare method java.lang.runtimeexception时发生异常:无法解析与名为[y.war]的模块范围内的持久性上下文引用名称[com..bcd.def.efg.dao.abstractdao/em]对应的持久性单元。”。请验证您的申请。”
项目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项目的abstractdao.java中定义了@persistencecontext注解(在错误--peristence context ref name[com..bcd.def.efg.dao.abstractdao/em]中提到)。
public abstract class AbstractDAO<T extends AbstractEntity> implements IDAO<T> {
@PersistenceContext
protected EntityManager em;
我尝试了不同的方法(比如在@persistencecontext之后定义unitname,在x项目的web.xml中定义unitname),但都不起作用。有人能帮我解决这个问题吗?
暂无答案!
目前还没有任何答案,快来回答吧!