有趣的是,我的war文件中的slf4j
依赖关系抱怨
java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=org/slf4j/impl/StaticLoggerBinder, offset=6
这是Websphere 8.5中使用的Java版本
Java version = 1.6.0, Java Compiler = j9jit26, Java VM name = IBM J9 VM
并且slf4j-api-1.7.5.jar
和slf4j-simple-1.7.5.jar
的MANIFEST.MF是
Build-Jdk: 1.6.0_23
我只能想到IBM JDK与Sun JDK不同,但它们仍处于相同的java版本(6),那么异常怎么可能仍然发生呢?
我认为错误是由于运行环境在旧JDK上,但文件是在新JDK中编译的。
答案 0 :(得分:0)
看this link,我认为你没有看到正确的罐子。
slf4j-api-1.7.5.jar只包含api,而不是实现。你需要找到哪个jar包含StaticLoggerBinder的实现,那就是以更高版本编译的jar。
答案 1 :(得分:0)
slf4j-api-1.7.5.jar
不包含StaticLoggerBinder
类。
寻找合适的罐子。X-Compile-Target-JDK
属性,而不是Build-jdk
。