Java EE EJB 部署错误:容器已注册

Posted

技术标签:

【中文标题】Java EE EJB 部署错误:容器已注册【英文标题】:Java EE EJB deployment error : container is already registered 【发布时间】:2012-06-07 23:45:30 【问题描述】:

我在本地计算机上运行 JBoss 5 服务器,我需要从我的 Java EE 项目到 postgresql 数据库的有效数据库连接。我开发了一个名为 UserManager 的 java 类,它的代码是:

导入 javax.ejb.Local; 导入 javax.ejb.Stateless; 导入 javax.persistence.EntityManager; 导入 javax.persistence.PersistenceContext; @Stateless(name="UserManager1") @Local(UserManagerItf.class) 公共类 UserManager 实现 UserManagerItf @PersistenceContext 私人 EntityManager em; 公共布尔addUser(Joueur j) Joueur jexist = em.find(Joueur.class, j.getLogin()); 如果(jexist==null) em.persist(j); 返回真; 别的 返回假;

问题是,在我使用 eclipse 导出我的 .war 文件并在部署中使用我的 .war 文件运行 jboss 后,我收到此部署错误:

18:47:27,645 INFO [BeanInstantiatorDeployerBase] 将 org.jboss.ejb3.instantiator.impl.Ejb31SpecBeanInstantiator@57b08b4f 安装到 MC 的 org.jboss.ejb.bean.instantiator/JEE/JEE/UserManager1 18:47:27,650 WARN [InterceptorInfoRepository] ​​EJBTHREE-1852:InterceptorInfoRepository 已弃用 18:47:28,062 INFO [BeanInstantiatorDeployerBase] 从 org.jboss.ejb.bean.instantiator/JEE/JEE/UserManager1 的 MC 卸载 org.jboss.ejb3.instantiator.impl.Ejb31SpecBeanInstantiator@57b08b4f 18:47:28,063 错误 [AbstractKernelController] 安装到 Real 时出错:name=vfs:///home/tuxer/jboss/jboss6/server/default/deploy/JEE.war state=PreReal mode=Manual requiredState=Real: org. jboss.deployers.spi.DeploymentException: 部署 JEE.war 时出错: 创建 ejb 容器时出错 UserManager1: 容器 jboss.j2ee:jar=JEE.war,name=UserManager1,service=EJB3,VMID=11d1def534ea1be0:-3567a2b:137b33e6929:-7ffd + 已注册

感谢您提供的任何答案。

【问题讨论】:

【参考方案1】:

自行回答,以防万一有人感兴趣。我以错误的方式将 jboss 包含在我的 eclipse 库中,即一个一个地添加 jar,而不是在库中添加 Server Runtime 选项。

我重新创建了项目并正确添加了我的库,现在它可以工作了。

【讨论】:

以上是关于Java EE EJB 部署错误:容器已注册的主要内容,如果未能解决你的问题,请参考以下文章

Java EE 容器与 Web 容器

WEB容器和EJB容器

weblogic的linux静默搭建

什么是javaEE

2018.6.30 日常练习

什么是javaee?跟java有什么区别何联系