This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Build 200911030201,Win Vista,JDK1.6.0_16 Create new maven Enterprise Application,set server in all modules to Gfv3 and add Session bean with Bussiness class into EJB. Build with dependencies and then Run ear. Error in Gfv3 log: INFO: Updating configuration from org.apache.felix.fileinstall-autodeploy-bundles.cfg SEVERE: Exception while deploying the app java.lang.IllegalArgumentException: Invalid ejb jar [mavenproject1-ejb-1.0-SNAPSHOT.jar]: it contains zero ejb. Note: 1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or message driven bean. 2. EJB3+ entity beans (@Entity) are POJOs and please package them as library jar. 3. If the jar file contains valid EJBs which are annotated with EJB component level annotations (@Stateless, @Stateful, @MessageDriven, @Singleton), please check server.log to see whether the annotations were processed properly. at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:72) at com.sun.enterprise.deployment.util.ApplicationValidator.accept(ApplicationValidator.java:124) at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:722) at com.sun.enterprise.deployment.Application.visit(Application.java:1733) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:774) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:253) at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:222) at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:108) at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:41) at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:596) at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:538) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:246) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:169) 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:1159) at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1218) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1207) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:362) at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:201) 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:241) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:789) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:697) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:952) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166) 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) INFO: felix.fileinstall.poll (ms) 5000 INFO: felix.fileinstall.dir C:\Program Files\glassfish-v3-b70\glassfish\domains\domain1\autodeploy\bundles INFO: felix.fileinstall.debug 1 INFO: felix.fileinstall.bundles.new.start true
jpospisil: I could not reproduce your problem. Please verify that the class with business method is compiled and present in the ejb's jar file + target/classes directory of the ejb project. however I was not able to deploy either. I got this exception: SEVERE: Exception while deploying the app java.lang.IllegalArgumentException: Expected to find an expanded directory for submodule mavenproject11-ejb-1.0-SNAPSHOT.jar but found a JAR. If this is a directory deployment be sure to expand all submodules. at org.glassfish.javaee.full.deployment.EarHandler.getClassLoader(EarHandler.java:187) at org.glassfish.deployment.common.DeploymentContextImpl.createClassLoaders(DeploymentContextImpl.java:191) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:217) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:175) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:270) at com.sun.enterprise.v3.admin.CommandRunnerImpl$4.execute(CommandRunnerImpl.java:422) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:437) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:524) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:140) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:313) at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:180) 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:208) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:752) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:660) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:911) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:164) 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.NIOContext.execute(NIOContext.java:510) at com.sun.grizzly.SelectorHandlerRunner.handleSelectedKey(SelectorHandlerRunner.java:357) at com.sun.grizzly.SelectorHandlerRunner.handleSelectedKeys(SelectorHandlerRunner.java:257) at com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:194) at com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:129) at com.sun.grizzly.util.FixedThreadPool$BasicWorker.dowork(FixedThreadPool.java:379) at com.sun.grizzly.util.FixedThreadPool$BasicWorker.run(FixedThreadPool.java:360) at java.lang.Thread.run(Thread.java:619) reassigning to glassfish support for evaluation. What does the message mean? my GlassFish is v3.0-b58 (build 58)
Mkleint: you probably need to update to a more recent build of GF v3. The environment that you attempted to reproduce the issue in is woefully out of sync with the reported environment. The message that you got probably means that the directory that is getting deployed has an ejb jar file instead of a directory with the exploded content of an ejb jar. That is not valid for directory deployment.
With GlassFish v3 (build 69), I'm getting different exception when following tutorial prototype http://wiki.netbeans.org/DocsSimpleMavenEntApp. I'm getting this: java.lang.RuntimeException: /home/dafe/NetBeansProjects/SimpleEE6App/SimpleEE6App-ear/target/gfdeploy/com.mycompany_SimpleEE6App-ear_ear_1.0-SNAPSHOT/SimpleEE6App-ejb-1_0-SNAPSHOT_jar does not exist! at org.glassfish.persistence.jpa.PersistenceUnitInfoImpl.getAbsolutePuRootFile(PersistenceUnitInfoImpl.java:375) at org.glassfish.persistence.jpa.PersistenceUnitInfoImpl._getJarFiles(PersistenceUnitInfoImpl.java:320) at org.glassfish.persistence.jpa.PersistenceUnitInfoImpl.<init>(PersistenceUnitInfoImpl.java:104) at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:130) at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:96) at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:121) at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:620) at org.glassfish.javaee.full.deployment.EarDeployer.prepareBundle(EarDeployer.java:413) at org.glassfish.javaee.full.deployment.EarDeployer.access$200(EarDeployer.java:91) at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:165) at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:163) at org.glassfish.javaee.full.deployment.EarDeployer.doOnBundles(EarDeployer.java:333) at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllTypedBundles(EarDeployer.java:342) at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllBundles(EarDeployer.java:368) at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:163) at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:620) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:274) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:169) 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:1159) at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1218) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1207) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:362) at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:201) 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:241) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:789) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:697) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:951) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166) 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.FixedThreadPool$BasicWorker.doWork(FixedThreadPool.java:431) at com.sun.grizzly.util.FixedThreadPool$BasicWorker.run(FixedThreadPool.java:410) Looking in gfdeploy, there is directory named SimpleEE6App-ejb-1.0-SNAPSHOT_jar but Glassfish wants SimpleEE6App-ejb-1_0-SNAPSHOT_jar. Do you EE guys know if there is really some name conversion needed and if/where this could be fixed on Maven side? In other words, who is creating these directories under gfdeploy during deployment process? I wasn't able to find that out, thanks.
I've found,that when I've both glassfishes installed on my system,this behaves weird,sometimes EAR deploys fine,only without showing of JSP page in browser,sometimes something different. My issue it's safely reproducible only on b70 version,after you remove version b69 from system and preferably delete .nbi and ,netbeans* folders before install of recent IDE build with b70.
dsimonek: please open a new issue with this information... it looks like a different problem
"The message that you got probably means that the directory that is getting deployed has an ejb jar file instead of a directory with the exploded content of an ejb jar. That is not valid for directory deployment." can you elaborate more on what this means? do I understand correctly that in order to deploy the ear file, I need to have a folder with expanded ear, that will somehow include expanded ejb jars and wars? Won't this be somehow delegated to the project's j2eemoduleprovider? Can you be more specific about what methods in j2eemoduleprovider/j2eeapplicationprovider implementations this problems maps to?
dsimonek: I was able to replicate your issue using ant based projects... so it is not relevant here. I opened https://glassfish.dev.java.net/issues/show_bug.cgi?id=10839 to track it... it is a server issue.
jpospisil: which version of maven were you using?
regarding the initial report. I am on vista i have gf v3 b70 installed in C:\P F\gfv3-b70 I pulled web-main and built it. it is in c:\Users\vbk\nbhg\web-main\nbbuild\netbeans i downloaded maven 2.2.1 and put it in c:\Users\vbk\maven221 I am using jdk 6 update 16. I followed your steps and did not encounter the issue. the ent app deployed correctly. The browser did not open. I looked up the value for the url from the application.xml and entered that address in firefox. the page displayed 'Hello World" as expected. Please let me know what differences there are between your environment and mine.
I just did an install of 200911050201 with gf v3 b70... took all the defaults. This also behaved ok... though the lack of starting the browser was a bit of a bother, since the domain was not running on the default ports.
to vkraemer: Thanks for quick eval, I can see that https://glassfish.dev.java.net/issues/show_bug.cgi?id=10839 is already fixed and will be a part of build 72 of GF. Great! To the original problem - I guess it's because of older GF version used. jpospisil, mkleint, could you try with new GF? Thanks.
With 200911050201 this also works for me.Seems to be fixed by some other fix. Not displaying of index.jsp problem still remains,I'll file it as separate issue,however. Closing as fixed.
v.