我需要将项目分成几个maven项目并将其部署在WildFly服务器中。这是被请求的组织:
com.mycompany.entity
:此项目包含JPA Annotated POJO。它是一个注册为Wildfly module com.mycompany.dataservice
:只是一堆DAO接口,再次将单个jar注册为Wildfly模块。取决于com.mycompany.entity
com.mycompany.dataserviceImpl
:实现DAO接口并注册JNDI资源的EJB应用程序。取决于com.mycompany.entity
和com.mycompany.dataservice
com.mycompany.web
:通过JNDI名称注入EJB的Web应用程序。取决于com.mycompany.entity
和com.mycompany.dataservice
我在persistence.xml
项目中使用hibernate-entitymanager获得了com.mycompany.dataserviceImpl
文件。
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="mycompanyPU" transaction-type="JTA">
<jta-data-source>java:/jboss/datasources/ExampleDS</jta-data-source>
<class>com.mycompany.entity.MyEntity</class>
</persistence-unit>
</persistence>
到目前为止,我已经在wildfly服务器中注册了com.mycompany.entity
和com.mycompany.dataservice
个模块。此外,我已部署了com.mycompany.dataserviceImpl
和com.mycompany.web
个应用程序。
但在浏览网络应用时,它会抛出:javax.ejb.EJBException: java.lang.IllegalArgumentException: Not an entity: class com.mycompany.entity.MyEntity
。
这种分离是否可行?当只有两个项目(EJB和Web)时,一切都有效。