gpt4 book ai didi

java - 实现REST客户端的类加载问题

转载 作者:行者123 更新时间:2023-11-28 23:20:23 25 4
gpt4 key购买 nike

我有一个在Tomcat 8(Windows 10,JRE 1.8.0_111)上运行的Web应用程序
实现与第三部分REST服务进行通信的REST客户端
(ADLNET xAPI LRS)

我最近在另一个服务器(CentOS,Tomcat)上部署该WAR文件时
8,Java 1.8.0.11)应用程序给出了ClassNotFound异常:

java.lang.ClassNotFoundException:org.glassfish.hk2.utilities.reflection.Logger

我在WEB-INF / lib文件夹中有以下JAR

* jxapi-1.0.3.jar(由ADLNET xAPI项目提供)
* hk2-api-2.4.0.jar
* cxf-bundle-jaxrs-2.7.18.jar
* jaxrs-ri-2.25.1.jar
* jersey-guava-2.25.1.jar

在使用“ -verbose:class”运行应用程序时,我发现在两种情况下类的加载顺序是不同的。在错误情况下,
完全没有使用“ cxf-bundle-jaxrs-2.7.18.jar”。

catalina.out(正常情况下)

......
[从文件:/ C:/Users/Diptendu/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/LearnITyLMSv9/WEB-INF/中加载的org.glassfish.jersey.client.JerseyWebTarget lib / jaxrs-ri-2.25.1.jar]
[从文件:/ C:/Users/Diptendu/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/LearnITyLMSv9/WEB-INF/中加载javax.ws.rs.core.UriBuilder lib / jaxrs-ri-2.25.1.jar]
[从文件:/ C:/Users/Diptendu/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/LearnITyLMSv9/WEB-INF/中加载的javax.ws.rs.ext.RuntimeDelegate lib / jaxrs-ri-2.25.1.jar]
[从文件:/ C:/Users/Diptendu/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/LearnITyLMSv9/WEB-INF/中加载的javax.ws.rs.ext.FactoryFinder lib / jaxrs-ri-2.25.1.jar]
[从文件:/ C:/Users/Diptendu/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/LearnITyLMSv9/WEB-INF中加载javax.ws.rs.ext.FactoryFinder $ 1 /lib/jaxrs-ri-2.25.1.jar]
[从文件:/ C:/Users/Diptendu/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/LearnITyLMSv9/WEB-加载的org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl INF / lib / cxf-bundle-jaxrs-2.7.18.jar]
[从文件:/ C:/Users/Diptendu/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/LearnITyLMSv9/WEB-中加载javax.ws.rs.core.Variant $ VariantListBuilder INF / lib / jaxrs-ri-2.25.1.jar]
[从文件:/ C:/Users/Diptendu/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/LearnITyLMSv9/WEB-中加载了org.apache.cxf.jaxrs.impl.VariantListBuilderImpl INF / lib / cxf-bundle-jaxrs-2.7.18.jar]
[从文件:/ C:/Users/Diptendu/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/LearnITyLMSv9/WEB-中加载javax.ws.rs.core.Response $ ResponseBuilder INF / lib / jaxrs-ri-2.25.1.jar]
......

catalina.out(错误情况)

......
[从文件:/opt/tomcat8/webapps/LearnITyAcademy/WEB-INF/lib/jaxrs-ri-2.25.1.jar中加载了org.glassfish.jersey.client.JerseyWebTarget。
信息| jvm 1 | 2017/06/17 17:56:50 | [从文件:/opt/tomcat8/webapps/LearnITyAcademy/WEB-INF/lib/jaxrs-ri-2.25.1.jar加载javax.ws.rs.core.UriBuilder。
信息| jvm 1 | 2017/06/17 17:56:50 | [从文件:/opt/tomcat8/webapps/LearnITyAcademy/WEB-INF/lib/jaxrs-ri-2.25.1.jar加载的javax.ws.rs.ext.RuntimeDelegate。
信息| jvm 1 | 2017/06/17 17:56:50 | [从文件:/opt/tomcat8/webapps/LearnITyAcademy/WEB-INF/lib/jaxrs-ri-2.25.1.jar加载javax.ws.rs.ext.FactoryFinder。
信息| jvm 1 | 2017/06/17 17:56:50 | [从文件:/opt/tomcat8/webapps/LearnITyAcademy/WEB-INF/lib/jaxrs-ri-2.25.1.jar加载的javax.ws.rs.ext.FactoryFinder $ 1。
信息| jvm 1 | 2017/06/17 17:56:50 | [从文件:/opt/tomcat8/webapps/LearnITyAcademy/WEB-INF/lib/jaxrs-ri-2.25.1.jar加载的org.glassfish.jersey.internal.AbstractRuntimeDelegate。
信息| jvm 1 | 2017/06/17 17:56:50 | [从文件:/opt/tomcat8/webapps/LearnITyAcademy/WEB-INF/lib/jaxrs-ri-2.25.1.jar加载org.glassfish.jersey.server.internal.RuntimeDelegateImpl。
信息| jvm 1 | 2017/06/17 17:56:50 | [从文件:/opt/tomcat8/webapps/LearnITyAcademy/WEB-INF/lib/jaxrs-ri-2.25.1.jar加载的org.glassfish.jersey.uri.internal.JerseyUriBuilder。
信息| jvm 1 | 2017/06/17 17:56:50 | [从文件:/opt/tomcat8/webapps/LearnITyAcademy/WEB-INF/lib/jaxrs-ri-2.25.1.jar加载的javax.ws.rs.core.Response $ ResponseBuilder。
信息| jvm 1 | 2017/06/17 17:56:50 | [从文件中加载org.glassfish.jersey.message.internal.OutboundJaxrsResponse $ Builder:/opt/tomcat8/webapps/LearnITyAcademy/WEB-INF/lib/jaxrs-ri-2.25.1.jar]
信息| jvm 1 | 2017/06/17 17:56:50 |

这里可能出什么问题了?

最佳答案

可能是WEB-INF中的jar文件已损坏,因此请使用新版本更新依赖项并添加新的依赖项:

<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-utils</artifactId>
<version>2.5.0-b35</version>
</dependency>


并更新项目并导出WAR文件。

关于java - 实现REST客户端的类加载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44607774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com