我是 Java EE 的新手,正在使用 JBoss 7 创建我的第一个项目。我的工作区中有一个 EAR 项目、一个 EJB 项目、一个 WEB 项目和一个 JPA 项目。在 EJB 项目中创建的 ejb 想要使用在 JPA 项目中创建的 ejb。这一切都编译得很好,但是当我部署 EAR 项目时,我得到以下异常并且部署失败。这是主要的异常原因。
JBAS014544:找不到 EJB,接口类型为“com.kohlisoft.stockmanagement.jpa.service.StockManagementBeanJpa”,用于绑定 com.kohlisoft.stockmanagement.ejb.main.StockManagementService/sms
我怀疑 EJB 项目无法查看 jpa jar 中的类。
我已经通过各种链接来解决它,但没有帮助。基于一些建议,我修改了它,但仍然没有乐趣。1.我检查了结构,JPA项目在.ear的lib文件夹下。2.更新了EJB项目的manifest文件,将依赖添加到jpa jar中。
我真的很感激这里的任何帮助。
JPA 项目中的 EJB。
@Stateless
@LocalBean
public class StockManagementBeanJpaBean implements StockManagementBeanJpa {
@PersistenceContext(unitName="StockManagement")
private EntityManager em;
使用它的 EJB 项目中的 EJB:
@Stateless
@LocalBean
public class StockManagementService implements StockManagementServiceLocal {
@EJB
StockManagementBeanJpa sms;
...
EJB 项目清单文件。
Manifest-Version: 1.0
Class-Path: StockManagement-ejbClient.jar
Dependencies: lib/StockManagement-jpa.jar
这是 .ear 中的 .jars 和 .war 的结构。
.ear
|____ ejb.jar
|
|____ ejbClient.jar
|
|____ web.war
|
|____ /lib
|
| ____ jpa.jar
|
| ____ all other jars related to derby client, hibernate, jta etc.
让我知道是否需要任何其他文件。