在构建一个工程的时候,报出了这个错误,类文件具有错误的版本 50.0 应为49.0。
构建的时候依赖一个jar包(epm-core.jar),这个jar包是在eclipse环境中进行build的产生,eclipse的jdk版本为1.6系列。
而在构建工程的时候,采用的是cmd命令模式,反复了好几遍都报“类文件具有错误的版本 50.0 应为49.0,并且xxx.xx.类找不到”。
仔细查找epm-core.jar,确实有这个类,而且路径类名大小写也都一致。最后没办法,只有求救google,此时google又被g-v-m搞的不能使用。无奈,百度出来结果告诉我:可能依赖的jar包编译时的jdk版本大于当前编译的jdk版本。
按照他的说法,在cmd中重新编译了下epm-core.jar,然后再构建自己的工程,success!
最后总结:当前构建的工程所用的jdk必须大于或者等于依赖jar包的jdk版本。也就是说依赖的jar包如果是在jdk6.0下编译并且采用的javac 的参数为source="1.5",此时构建中的如果使用JDK5.0是怎么引用都会报错的。