我的本地设置已配置所有java 6。我需要catalina jar文件。所以我拿了最新的一个 -
http://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina/8.0.15
但这给了我以下错误/警告
警告:javalangObject.class(javalang:Object.class):主要版本51比50更新,是此编译器支持的最高主要版本。
并且构建失败。
唯一可行的方法是catalina.jar是用java 7编译的,而我的设置是使用java6。我通过使用旧版本的库确认了这种情况。
http://mvnrepository.com/artifact/org.apache.tomcat/catalina/6.0.35
我想知道我们如何知道使用哪个版本的java编译哪个库版本。特别是在Maven,我没有看到任何此类信息。
答案 0 :(得分:0)
51的主要版本意味着它是用Java 7编译的。主要版本52表示,它是用Java 8编译的.Java 6有主要版本50.
您可以从Maven下载的jar中提取一些类文件。然后检查该类的主要版本如下:
$ javap -verbose someclass.class | grep -i major
这将指示用于编译的javac版本。