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

时间:2012-06-03 16:58:29

标签: java-ee jboss ejb

我在我的本地计算机上运行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

感谢您提供的任何答案。

1 个答案:

答案 0 :(得分:1)

自我回答,如果有人有兴趣的话。我通过逐个添加jar而不是在Librairies中添加Server Runtime选项,以错误的方式将jboss包含在我的eclipse librairies中。

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