【问题标题】:war file deployment error from glassfish 4.1 admin consoleglassfish 4.1管理控制台的war文件部署错误
【发布时间】:2015-03-20 21:59:34
【问题描述】:

在我的项目中(在 Netbeans 8 中创建),我们必须从 Glassfish 4.1 管理控制台创建一个 war 文件并部署在不同的机器上。

同样的过程,即从 Glassfish 4.1 部署 war 文件(从 Netbeans 8 打开)在我们开发项目的本地机器上运行良好(在 Netbeans)。

加载应用程序时出现异常:java.lang.IllegalStateException: ContainerBase.addChild:开始:org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException:javax.servlet.ServletException: com.sun.enterprise.container.common.spi.util.InjectionException:错误 为类创建托管对象:类 org.glassfish.webservices.WSServletContextListener。请参见 server.log 了解更多详情。

服务器日志::

java.lang.Exception:java.lang.IllegalStateException: ContainerBase.addChild:开始:org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException:javax.servlet.ServletException: com.sun.enterprise.container.common.spi.util.InjectionException:错误 为类创建托管对象:类 org.glassfish.webservices.WSServletContextListener 在 com.sun.enterprise.web.WebApplication.start(WebApplication.java:168) 在 org.glassfish.internal.data.EngineRef.start(EngineRef.java:122) 在 org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:291) 在 org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:352) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:500) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219) 在 org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:356) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:356) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722) 在 org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:253) 在 org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:231) 在 org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:275) 在 org.glassfish.admin.rest.resources.TemplateListOfResource.createResource(TemplateListOfResource.java:133) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) 在 org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151) 在 org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171) 在 org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:152) 在 org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104) 在 org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387) 在 org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331) 在 org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103) 在 org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:271) 在 org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) 在 org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) 在 org.glassfish.jersey.internal.Errors.process(Errors.java:315) 在 org.glassfish.jersey.internal.Errors.process(Errors.java:297) 在 org.glassfish.jersey.internal.Errors.process(Errors.java:267) 在 org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) 在 org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:254) 在 org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028) 在 org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:365) 在 org.glassfish.admin.rest.adapter.RestAdapter$2.service(RestAdapter.java:316) 在 org.glassfish.admin.rest.adapter.RestAdapter.service(RestAdapter.java:179) 在 com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) 在 com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) 在 org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201) 在 org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175) 在 org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) 在 org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 在 org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) 在 org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201) 在 org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) 在 org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) 在 org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 在 org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) 在 org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) 在 org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) 在 org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) 在 org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) 在 org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) 在 org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) 在 java.lang.Thread.run(Thread.java:745)

【问题讨论】:

  • 详情请查看 server.log。
  • 请查看问题中提到的服务器日志详细信息
  • 您之前是否尝试在远程服务器上部署应用程序?也许您必须在再次部署之前重新启动服务器。
  • 我在 netbeans 8 中构建了应用程序并部署到我机器上的嵌入式 glassfish 4.1 服务器中,在那里工作正常,但由于它最终要部署在远程机器上,所以我一直在尝试通过glassfish 4.1在其他机器上部署war文件,所以我得到了上述错误。

标签: java netbeans glassfish


【解决方案1】:

我遇到了类似的问题。但是,我正在尝试部署到 AIX 6.1,这对我来说可能是问题的根源。

在 Glassfish 的早期版本中,由于 IBM Java 和 Oracle Java 之间的差异,Oracle 发布了一个单独的 Glassfish 版本以在 AIX 机器上运行。由于没有适用于 AIX 的 Glassfish 4.1 单独版本,我怀疑我试图让它在 AIX 上运行的努力将是徒劳的。

就我而言,我一直在尝试使用 jaxws-rt-2.2.6-6.jar 和 rt.jar(来自 Oracle Java 1.7.0_21)并查看将它们添加到 Glassfish 4.1 中的类路径是否允许我生成一些其他错误,如果不能解决问题。很难确定 Glassfish 是否能够看到这些库(我假设不能,因为我不断收到相同的错误)。

无论如何,如果您仍然遇到同样的问题,您可能需要说明您正在开发的操作系统以及您尝试部署到的操作系统。这可能会更清楚地说明问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    相关资源
    最近更新 更多