当前位置: 首页 > 知识库问答 >
问题:

ArrayIndexOutOfBoundsException部署到GlassFish 4.1.1中,没有web.xml Jersey

归俊捷
2023-03-14

我在使用Maven GlassFish插件将我的Jersey服务器(没有web.xml)部署到GlassFish 4.1.1时遇到了这个奇怪的错误(事实上,我已经将我的(Maven)构建从embedded Grizzly切换到了GlassFish,将标准Jersey依赖项从compile更新为provided):

[错误]远程失败:部署期间出错:加载应用程序时发生异常:java.lang.IllegalStateException:ContainerBase.AddChild:Start:org.apache.catalina.LifecycleException:org.apache.catalina.LifecycleException:java.lang.ArrayIndexOutOfBoundsException:0.有关详细信息,请参阅server.log

当我没有在ResourceConfig实现中声明@ApplicationPath时,部署是成功的。但随后,我在尝试使用该服务时出现了404错误。根据Jersey文档,@ApplicationPath不需要web.xml部署(示例4.3)。

部署错误日志摘录如下:

[2015-12-28T09:33:40.826+0800][glassfish 4.1][严重][][javax.enterprise.web][tid:_threadid=123_threadname=admin-listener(6)][timeMillis:1451266420826][levelvalue:1000][[
WebModule[/bbquay-entertainment-1.0-snapshot]StandardWrapper.Throwable java.lang.ArrayIndexOutoFboundsException:0 at.java:390)在org.glassfish.jersey.servlet.servletcontainer.init(servletcontainer.java:170)在org.glassfish.jersey.servlet.servletcontainer.init(servletcontainer.java:362)在javax.servlet.genericservlet.init(genericservlet.java:244)在org.html" target="_blank">apache.catalina.core.standardwrapper.initservlet(standardwrapper.java:1583)

.....

共有1个答案

陆宾白
2023-03-14

结果是一个Maven配置。由于我之前使用Grizzly进行测试,所以在切换到GlassFish时,我将两个依赖项jersey-weld2-se和jersey-cdi1x保留为默认Maven范围。后者很好,但第一个是由GlassFish容器提供的。更正如下有助于解决问题(尽管部署错误确实没有帮助..)

<dependency>
    <groupId>org.glassfish.jersey.ext.cdi</groupId>
    <artifactId>jersey-weld2-se</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.ext.cdi</groupId>
    <artifactId>jersey-cdi1x</artifactId>
</dependency>
 类似资料:
  • 我有一个简单的POM(见下文)。当我执行mvn部署时,我得到这个错误: [错误]无法执行目标组织。阿帕奇。专家plugins:maven deploy plugin:2.7:project piccolotest上的部署(默认部署):部署失败:未在POM inside distributionManagement元素或-DaltDeploymentRepository=id::layout::ur

  • 我试图在Kubernetes集群上部署RabbitMQ,并使用initcontainer从ConfigMap复制一个文件。但是,POD处于运行状态后,文件不会复制。 最初,我尝试不使用init容器,但我得到了一个错误,如“触摸:不能触摸'/etc/Rabbitmq/rabbitmq.conf':只读文件系统” 文件“definitions.json”应复制到/etc/reabbitmq文件夹。我遵

  • 我正在使用Azure Application Insights。经过一些配置步骤和官方文档之后,我发现我的应用程序insights在本地构建中运行良好。请求、异常、依赖项和自定义事件的数据都出现在azure portal中。 但是,一旦我将其部署到Azure Web应用,就无法在Azure门户中看到任何Application Insights数据。 我已经验证了应用程序洞察DLL和Microsof

  • 我试图为应用程序创建一个可执行的.jar文件,但是当我运行“java-jar myapp.jar”时,我得到了错误: 错误:找不到或加载main类com.vaadin.app.MainView 我已经在pom.xml中添加了mainClass参数,MANIFEST.MF显示了以下内容: Main-Class:com.vaadin.app.MainView 在我的类中找不到方法的原因吗?

  • 我已经创建了一个带有POJO类“employee”的EJB程序,但是在将EJB部署到JBoss7.1服务器上时,它并没有创建模式(模式没有导出)而没有任何错误。 服务器日志。 18:43:34,445信息[org.jboss.as.server](控制器引导线程)JBAS018559:部署的“ojdbc6.jar”18:43:34,456信息[org.jboss.as.server.deploym

  • 我正在运行 React 原生应用,并努力将我的反应原生应用部署到 iOS 设备。我总是有问题: SDK “iOS 11.4”中的产品类型“应用扩展”需要代码签名 我按照此说明登录到我的应用程序,但它再次失败。