2010-04-09 64 views
6

当我尝试在包含servlet(java页面),JSP,beans(java页面)和HTML页面的Netbeans中运行我的Java EE程序时,输出中出现此错误:NetBeans中的JavaEE在部署时出现BUILD FAILED错误

In-place deployment at C:\Users\Derek\Documents\NetBeansProjects\EJBProject\EJBProject-war\build\web 
Initializing... 
deploy?path=C:\Users\Derek\Documents\NetBeansProjects\EJBProject\EJBProject-war\build\web&name=EJBProject-war&force=true failed on Personal GlassFish v3 Domain 
C:\Users\Derek\Documents\NetBeansProjects\EJBProject\EJBProject-war\nbproject\build-impl.xml:611: The module has not been deployed. 
BUILD FAILED (total time: 1 second) 

然后在当我运行在相应的目录asant run命令提示符下,我得到:

C:\用户\德里克\文档\的NetBeansProjects \ EJBProject \ nbproject文件\ build-impl.xml中:19:Class org.apache.tools.ant.taskdefs.condition.Not不支持嵌套的“antversion”元素。

你知道这是为什么吗?为什么netbeans不能部署我的应用程序,以便我可以运行和测试它?

编辑: 蚂蚁版本实际上是与...在2005年6月2日

编译

Apache Ant的版本1.6.5想出了GlassFish输出日志说:

SEVERE: Exception while loading the app 
java.lang.RuntimeException: EJB Container initialization error 
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:219) 
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:197) 
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:63) 
    at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:175) 
    at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:216) 
    at  com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183) 
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224) 
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:365) 
    at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:204) 
    at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166) 
    at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245) 
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) 
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) 
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) 
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) 
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) 
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) 
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) 
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) 
    at com.sun.grizzly.ContextTask.run(ContextTask.java:69) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) 
    at java.lang.Thread.run(Thread.java:619) 
Caused by: java.lang.RuntimeException: Error while binding JNDI name x.results#x.results for EJB : resultsBean 
    at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1530) 
    at com.sun.ejb.containers.StatefulSessionContainer.initializeHome(StatefulSessionContainer.java:214) 
    at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:161) 
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:207) 
    ... 32 more 
Caused by: javax.naming.NameAlreadyBoundException: Use rebind to override 
    at com.sun.enterprise.naming.impl.TransientContext.doBindOrRebind(TransientContext.java:275) 
    at com.sun.enterprise.naming.impl.TransientContext.bind(TransientContext.java:214) 
    at com.sun.enterprise.naming.impl.SerialContextProviderImpl.bind(SerialContextProviderImpl.java:79) 
    at com.sun.enterprise.naming.impl.LocalSerialContextProviderImpl.bind(LocalSerialContextProviderImpl.java:81) 
    at com.sun.enterprise.naming.impl.SerialContext.bind(SerialContext.java:586) 
    at com.sun.enterprise.naming.impl.SerialContext.bind(SerialContext.java:602) 
    at javax.naming.InitialContext.bind(InitialContext.java:404) 
    at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.publishObject(GlassfishNamingManagerImpl.java:206) 
    at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.publishObject(GlassfishNamingManagerImpl.java:187) 
    at com.sun.ejb.containers.BaseContainer$JndiInfo.publish(BaseContainer.java:5484) 
    at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1515) 

编辑: 这似乎是关于我的'有状态'会话bean,因为当我删除它,它运行完美。

+0

引起:javax.naming.NameAlreadyBoundException:使用rebind来覆盖也许你没有正确发布你的静态会话bean – 2012-01-11 14:02:59

+0

引起:javax.naming.NameAlreadyBoundException:使用rebind来覆盖 - >这个异常是由方法抛出,以指示无法添加绑定,因为该名称已绑定到另一个对象。 – user1428716 2013-02-28 15:27:25

回答

1

我最好的猜测是您下载并安装了GlassFish Server 3的'Web Profile',或者您创建了一个具有部署描述符的Web应用程序,该描述符强制服务器将其视为Java EE 5(甚至是J2EE 1.4),然后在该Web应用程序中创建一个EJB ......这可能会导致这些错误。

1

你的有状态会话bean似乎有一些字段可能与另一个有状态会话bean字段具有相同的名称。这只是一个猜测。关于您的EJBS没有太多的信息可以进行深入分析。希望它有帮助

相关问题