我在我的本地计算机上运行JBoss 5服务器,我需要从我的Java EE项目到postgresql数据库有一个可用的数据库连接。我开发了一个名为UserManager的java类,其代码为:
import javax.ejb.Local; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @Stateless(name="UserManager1") @Local(UserManagerItf.class) public class UserManager implements UserManagerItf { @PersistenceContext private EntityManager em; public boolean addUser(Joueur j) { Joueur jexist = em.find(Joueur.class, j.getLogin()); if(jexist==null) { em.persist(j); return true; } else { return false; } } }
问题是,在我使用eclipse导出我的.war文件后,我在部署中使用我的.war文件运行jboss,我得到了这个部署错误:
18:47:27,645 INFO [BeanInstantiatorDeployerBase] Installed org.jboss.ejb3.instantiator.impl.Ejb31SpecBeanInstantiator@57b08b4f into MC at org.jboss.ejb.bean.instantiator/JEE/JEE/UserManager1 18:47:27,650 WARN [InterceptorInfoRepository] EJBTHREE-1852: InterceptorInfoRepository is deprecated 18:47:28,062 INFO [BeanInstantiatorDeployerBase] Uninstalled org.jboss.ejb3.instantiator.impl.Ejb31SpecBeanInstantiator@57b08b4f from MC at org.jboss.ejb.bean.instantiator/JEE/JEE/UserManager1 18:47:28,063 ERROR [AbstractKernelController] Error installing to Real: name=vfs:///home/tuxer/jboss/jboss6/server/default/deploy/JEE.war state=PreReal mode=Manual requiredState=Real: org.jboss.deployers.spi.DeploymentException: Error deploying JEE.war: Error creating ejb container UserManager1: Container jboss.j2ee:jar=JEE.war,name=UserManager1,service=EJB3,VMID=11d1def534ea1be0:-3567a2b:137b33e6929:-7ffd + is already registered
感谢您提供的任何答案。
答案 0 :(得分:1)
自我回答,如果有人有兴趣的话。我通过逐个添加jar而不是在Librairies中添加Server Runtime选项,以错误的方式将jboss包含在我的eclipse librairies中。
我重新创建了项目并正确添加了我的库,现在它可以工作了。