我不知道在哪里ContainerBaCommand是从哪里来的,但这里是我的错误:
I have no idea where ContainerBaCommand is coming from, but here's my error:
我首先必须增加javax.jar(具有的servlet)级到C:\\ JEE6SDKglassfish3 \\ GlassFish的\\ lib目录\\ endorsed目录,它给了我一个新的错误,在这里:
I first had to add javax.jar (which has the servlet ) class into the C:\JEE6SDKglassfish3\glassfish\lib\endorsed directory, and it gave me a new error, here:
Buildfile: C:\petstore~svn\trunk\ws\apps\petstore\build.xml check: tools: -pre-deploy: deploy: [exec] Deprecated syntax, instead use: [exec] asadmin --user admin --passwordfile c:/JEE6SDKglassfish3/glassfish/samples/bp-project/passwordfile --host localhost --port 4848 deploy [options] ... [exec] remote failure: Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBaCommand deploy failed. [exec] se.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener. Please see server.log for more details. BUILD FAILED C:\petstore~svn\trunk\ws\bp-project\app-server-ant.xml:382: exec returned: 1 Total time: 47 seconds在设置文件夹中的所有文件: tinyurl/3gbb6o4
编辑:非常感谢马克
推荐答案我觉得 ContainerBaCommand ,其实就是 ContainerBase.addChild (这些家伙有类似的问题)。我觉得有时候Java标准输出和标准错误得到全都搞混了,在控制台上。
I think the "ContainerBaCommand" is actually ContainerBase.addChild (these guys had a similar problem). I think sometimes Java standard output and standard errors get all mixed up on the console.
我假设你正在使用像这样的应用程序服务器 - ant.xml 。你的蚂蚁错误似乎暗示语法的asadmin 现在使用部署应用程序已经改变。因此,我认为你需要从它是什么现在重新写你的部署任务:
I assume you are using something like this app-server-ant.xml. Your Ant error seems to be suggesting that the syntax that "asadmin" now uses to deploy your application has changed. I therefore think you need to re-write your deploy task from what it is currently:
<exec executable="${asadmin}" failonerror="${failonerror}"> <arg line=" deploy "/> <arg line=" --user ${javaee.server.username}" /> <arg line=" --passwordfile ${javaee.server.passwordfile}" /> <arg line=" --host ${javaee.adminserver.name}" /> <arg line=" --port ${javaee.adminserver.port}" /> <arg line=" --name ${module.name}"/> <arg line=" --force=true "/> <arg line=" --upload=true "/> <arg line=" --precompilejsp "/> <arg line=" --dbvendorname ${db.vendorname}"/> <arg line="${app.module}" /> </exec>到
<exec executable="${asadmin}" failonerror="${failonerror}"> <arg line=" --user ${javaee.server.username}" /> <arg line=" --passwordfile ${javaee.server.passwordfile}" /> <arg line=" --host ${javaee.adminserver.name}" /> <arg line=" --port ${javaee.adminserver.port}" /> <arg line=" deploy "/> <arg line=" --force=true "/> <arg line=" --precompilejsp "/> <arg line=" --name ${module.name}"/> <arg line=" --upload=true "/> <arg line=" --dbvendorname ${db.vendorname}"/> <arg line="${app.module}" /> </exec>我很惊讶,你需要复制javax.jar(具有Servlet类)转换成LIB认可。在servlet(和ServletContextListener来为此事)是应用服务器非常重要的类。我希望他们能够在Glassfish的类路径已经存在(在Glassfish的3.1它们在的〜GlassFish中/模块/ javax.servlet.jar 的)。我怀疑你复制到javax.jar的lib /批准引起更多的问题比它会解决。
I'm surprised that you needed to copy javax.jar (which has the servlet class) into lib endorsed. The Servlet (and ServletContextListener for that matter) are very important classes for an application server. I would expect them to exist in the Glassfish class path already (in Glassfish 3.1 they are in ~glassfish/modules/javax.servlet.jar). I suspect copying your javax.jar into "lib/endorsed" is causing more problems than it would solve.
我希望这有助于。
更多推荐
我需要帮助搞清楚为什么蚂蚁是给我这个错误消息(设置Java宠物商店)?
发布评论