【问题标题】:Netbeans system build failNetbeans系统构建失败
【发布时间】:2018-04-06 11:13:47
【问题描述】:

我有一个关于 netbeans 构建失败的问题 在部署 netbeans 期间,发生了这种情况。

Updating property file: 

    C:\Users\Documents\NetBeansProjects\OnlineAuctionSystem\OnlineAuctionSystem\OnlineAuctionSystemLibrary\build\built-clean.properties

Deleting directory C:\Users\Documents\NetBeansProjects\OnlineAuctionSystem\OnlineAuctionSystem\OnlineAuctionSystemLibrary\build
    C:\Users\Documents\NetBeansProjects\OnlineAuctionSystem\OnlineAuctionSystem\OnlineAuctionSystem\nbproject\build-impl.xml:212: The following error occurred while executing this line:
    C:\Users\Documents\NetBeansProjects\OnlineAuctionSystem\OnlineAuctionSystem\OnlineAuctionSystem\OnlineAuctionSystem-ejb\nbproject\build-impl.xml:789: The following error occurred while executing this line:
    C:\Users\Documents\NetBeansProjects\OnlineAuctionSystem\OnlineAuctionSystem\OnlineAuctionSystemLibrary\nbproject\build-impl.xml:912: The following error occurred while executing this line:
    C:\Users\Documents\NetBeansProjects\OnlineAuctionSystem\OnlineAuctionSystem\OnlineAuctionSystemLibrary\nbproject\build-impl.xml:1394: Unable to delete file C:\Users\Documents\NetBeansProjects\OnlineAuctionSystem\OnlineAuctionSystem\OnlineAuctionSystemLibrary\dist\OnlineAuctionSystemLibrary.jar

系统部署期间来自 glassfish 的服务器日志。

Severe:   Exception while deploying the app [OnlineAuctionSystem]
Severe:   Exception during lifecycle processing
java.lang.IllegalArgumentException: Cannot resolve reference [Remote ejb-ref name=ejb.session.singleton.DataInitializationSessionBean/employeeControllerLocal,Remote 3.x interface =ejb.session.stateless.EmployeeControllerLocal,ejb-link=null,lookup=,mappedName=,jndi-name=,refType=Session] because there are [2] ejbs in the application with interface ejb.session.stateless.EmployeeControllerLocal. 
Some of the possible causes: 
1. The EJB bean class was packaged in an ear lib library (or through any other library mechanism which makes the library visible to all component modules), this makes all the component modules include this bean class indirectly. 
2. The EJB bean class was packaged in a component module which references the EJB, either directly or indirectly through Manifest, WEB-INF/lib. 
The EJB bean class should only be packaged in the declaring ejb module and not the referencing modules. The referencing modules should only include EJB interfaces.
    at com.sun.enterprise.deployment.util.ComponentValidator.accept(ComponentValidator.java:356)
    at org.glassfish.ejb.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:409)
    at org.glassfish.ejb.deployment.descriptor.EjbDescriptor.visit(EjbDescriptor.java:2855)
    at org.glassfish.ejb.deployment.descriptor.EjbDescriptor.visit(EjbDescriptor.java:2843)
    at org.glassfish.ejb.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:115)
    at com.sun.enterprise.deployment.BundleDescriptor.visit(BundleDescriptor.java:625)
    at org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl.visit(EjbBundleDescriptorImpl.java:757)
    at com.sun.enterprise.deployment.util.ApplicationValidator.accept(ApplicationValidator.java:121)
    at com.sun.enterprise.deployment.BundleDescriptor.visit(BundleDescriptor.java:625)
    at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:703)
    at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:248)
    at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:232)
    at org.glassfish.javaee.core.deployment.DolProvider.processDOL(DolProvider.java:193)
    at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:227)
    at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:96)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:881)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:821)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:377)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:360)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:360)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722)
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)
    at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)
    at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:189)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
    at java.lang.Thread.run(Thread.java:748)

Severe:   Exception while deploying the app [OnlineAuctionSystem] : Cannot resolve reference [Remote ejb-ref name=ejb.session.singleton.DataInitializationSessionBean/employeeControllerLocal,Remote 3.x interface =ejb.session.stateless.EmployeeControllerLocal,ejb-link=null,lookup=,mappedName=,jndi-name=,refType=Session] because there are [2] ejbs in the application with interface ejb.session.stateless.EmployeeControllerLocal. 
Some of the possible causes: 
1. The EJB bean class was packaged in an ear lib library (or through any other library mechanism which makes the library visible to all component modules), this makes all the component modules include this bean class indirectly. 
2. The EJB bean class was packaged in a component module which references the EJB, either directly or indirectly through Manifest, WEB-INF/lib. 
The EJB bean class should only be packaged in the declaring ejb module and not the referencing modules. The referencing modules should only include EJB interfaces.

我不断遇到这个错误。我以前解决它的方法是转到文件夹并自己删除 jar 文件。我还停止/终止了玻璃鱼服务器并取消了客户端和系统的部署。 我可以知道我该如何解决吗?对此可以做些什么?

感谢您的帮助! :)

【问题讨论】:

    标签: java netbeans jar


    【解决方案1】:

    我不知道是什么问题,如果可能的话分享一下日志。 你可以试试这个:转到你的项目的属性 --> 库,如果你不使用它,删除这个 jar 文件。 我只是在猜测。分享更多细节。

    【讨论】:

      【解决方案2】:

      我一直在想这是因为库 jar 文件被锁定了。但是有人帮助我并告诉我错误代码中的这一行

      java.lang.IllegalArgumentException: Cannot resolve reference [Remote ejb-ref name=ejb.session.singleton.DataInitializationSessionBean/employeeControllerLocal,Remote 3.x interface =ejb.session.stateless.EmployeeControllerLocal,ejb-link=null,lookup=,mappedName=,jndi-name=,refType=Session] because there are [2] ejbs in the application with interface ejb.session.stateless.EmployeeControllerLocal. 
      

      发生的事情是我有另一个控制器 CustomerControllerLocal 使用相同的本地和远程会话bean。

      例如:这是员工控制器类。

      @Stateless
      @Local(CustomerControllerLocal.class)  //I should put EmployeeControllerLocal
      @Remote(Customer ControllerRemote.class) //Same goes for here, remote.
      
      public class EmployeeController implements EmployeeControllerRemote, EmployeeControllerLocal {
       //ommited the rest
      }
      

      小而粗心的错误!感谢大家观看这个。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-25
        • 1970-01-01
        • 2019-06-15
        • 1970-01-01
        • 2019-05-30
        • 1970-01-01
        • 2021-10-16
        相关资源
        最近更新 更多