我正在为使用Java servlet的WebSphere 6.0开发一个应用程序。在部署并运行我的应用程序之后,我收到了以下类型的LinkageError(来自服务器日志):
错误500:java.lang.LinkageError:定义类时的LinkageError:student.operation.Action由于以下原因无法定义:student / operation / Action(不支持的major.minor版本50.0)这通常是由于有一个类造成的在类加载器层次结构中的多个位置定义。其他可能的原因包括针对具有不兼容方法签名的较旧或较新版本的类进行编译。转储当前上下文类加载器层次结构:==>表示定义classloader ==> [0] com.ibm.ws.classloader.CompoundClassLoader@666bc7e8本地ClassPath:E:\ Program Files \ IBM \ SDP \ runtimes \ base_v6 \ profiles \ WTE_APPSRV61 \ installedApps \ gh-vdikcisv206Node1Cell \ DefaultEAR。 ear \ Student.war \ WEB-INF \ classes; E:\ Program Files \ IBM \ SDP \ runtimes \ base_v6 \ profiles \ WTE_APPSRV61 \ installedApps \ gh-vdikcisv206Node1Cell \ DefaultEAR.ear \ Student.war \ WEB-INF \ lib \ asm.jar; E:\ Program Files \ IBM \ SDP \ runtimes \ base_v6 \ profiles \ WTE_APPSRV61 \ installedApps \ gh-vdikcisv206Node1Cell \ DefaultEAR.ear \ Student.war \ WEB-INF \ lib \ c3p0-0.9.0.4.jar;
答案 0 :(得分:0)
定义类时的LinkageError:student.operation.Action无法 由于以下原因而定义:学生/操作/动作(不支持的major.minor 版本50.0)
类student.operation.Action
已在Java 6下编译(50.0对应于JDK 1.6编译的类版本),但您在运行时使用较低版本的JVM / JRE。
确保您的运行时环境也是JDK 1.6
答案 1 :(得分:0)
添加到Nivas的答案,请检查您是否在部署期间在任何其他jar中包含相同的student.operation.action。
如果您想在编译期间在JDK5 pass -source选项中运行JDK6编译类。