Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t用2.19覆盖Glassfish 4.1.0 Jersey版本(在Java 8应用程序中)_Java_Jersey 2.0_Glassfish 4.1 - Fatal编程技术网

Can';t用2.19覆盖Glassfish 4.1.0 Jersey版本(在Java 8应用程序中)

Can';t用2.19覆盖Glassfish 4.1.0 Jersey版本(在Java 8应用程序中),java,jersey-2.0,glassfish-4.1,Java,Jersey 2.0,Glassfish 4.1,我们有一个需要升级到Java8的Java6应用程序。 作为该过程的一部分,其他组件也进行了升级,如Glassfish、Jersey。 我们现在无法使应用程序的一部分正常工作 我没有执行升级工作,但需要尝试解决问题,因为我们尚未找到具有相关知识的顾问来帮助我们解决问题。 我几乎不了解Glassfish和Jersey,所以如果我需要补充我的问题来澄清,请提前道歉 我们的应用程序配置了Jersey 2.19和Glassfish 4.1.0。 当我们在测试服务器上运行应用程序失败时,我们不会得到错误日志

我们有一个需要升级到Java8的Java6应用程序。 作为该过程的一部分,其他组件也进行了升级,如Glassfish、Jersey。 我们现在无法使应用程序的一部分正常工作

我没有执行升级工作,但需要尝试解决问题,因为我们尚未找到具有相关知识的顾问来帮助我们解决问题。 我几乎不了解Glassfish和Jersey,所以如果我需要补充我的问题来澄清,请提前道歉

我们的应用程序配置了Jersey 2.19和Glassfish 4.1.0。 当我们在测试服务器上运行应用程序失败时,我们不会得到错误日志信息。 在本地安装Glassfish 4.1.0的VM(Mac OS X El Capitan,IntelliJ 2016.1.2,Java 1.8.091)中的开发人员机器上的调试模式下,我们得到错误:

java.lang.ClassCastException:org.glassfish.jersey.server.validation.internal.validation无法强制转换为org.glassfish.jersey.internal.spi.AutoDiscoverable

执行升级的开发人员认为问题与Glassfish使用自己的Jersey版本而不是我们指定的2.19有关。 在他当地的环境中,他尝试按照 但这是不成功的

我们使用delegate=false设置了sun-web.xml文件,以覆盖Glassfish的球衣

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">
<sun-web-app>
   <context-root>eden-node-app</context-root>
   <class-loader delegate="false" />
</sun-web-app>

伊甸园节点应用程序
然后我们意识到,对于Glassfish 4.x,我们应该使用Glassfish-web.xml (但认识到这一点并不适用于Glassfish 4.x)

所以我们换成了那个

<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <context-root>eden-node-app</context-root>
    <class-loader delegate="false" />
</glassfish-web-app>

伊甸园节点应用程序
而且还做了额外的步骤

" 在GlassFish管理控制台中,转到配置->JVM设置,切换到JVM选项选项卡并添加以下选项:

-Dcom.sun.enterprise.overrideablejavaxpackages=javax.ws.rs,javax.ws.rs.core,javax.ws.rs.ext

重新启动GlassFish以使新的JVM设置生效。 "

仍然没有成功

我们认为这是一个问题,对吗? 你能帮我继续吗

提前谢谢