由于类路径,Webphere 8.5中的UnsupportedClassVersionError

时间:2016-06-23 23:14:35

标签: java json jar websphere classpath

Websphere 8.5.5.5的WEB-INF / lib中的2个jar具有相同的目录结构 org.json。*。

json.jar用JDK 1.6编译

使用JDK 1.7编译的commonlib.jar

Iam在一个环境中的JVM启动期间收到以下异常,而另一个环境具有相同的jar和相同的类路径但是它正常工作。 WAS正在运行Java 1.6,因此获取UnsupportedClassVersionError

6/23/16 15:59:32:091 CDT] 0000005e InjectionProc W CWNEN0047W:将忽略jmaki.xhp.XmlHttpProxyServlet类字段上的资源注释。由于异常,无法获取注释:java.lang.UnsupportedClassVersionError:JVMCFRE003错误的主要版本; class = org / json / JSONObject,offset = 6

当我专门将第二个jar添加到第二个环境的类路径时,它会出现上述错误,否则它会正常工作是否是由于类路径顺序?

enter image description here

class load: org.json.JSONException from: file:/hosting/configs/WebSphereD24/AppServer/installedApps/nodea/sear/swar/WEB-INF/lib/json.jar
class load: org.json.JSONObject$Null from: file:/hosting/configs/WebSphereD24/AppServer/installedApps/nodea/sear/swar/WEB-INF/lib/json.jar

WebSphere如何决定从中加载class = org / json / JSONException的jar。这个类存在于两个罐子里......它是如何从一个json.jar加载到另一个的common.jar中的。

1 个答案:

答案 0 :(得分:1)

未指定WEB-INF / lib JAR的顺序,因此顺序通常由文件系统定义。您应该删除重复的类,而不是尝试依赖任何特定的顺序。