我们如何确定使用哪个java版本来编译maven中的库版本?

时间:2014-11-30 10:31:31

标签: java maven tomcat catalina

我的本​​地设置已配置所有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,我没有看到任何此类信息。

1 个答案:

答案 0 :(得分:0)

51的主要版本意味着它是用Java 7编译的。主要版本52表示,它是用Java 8编译的.Java 6有主要版本50.

您可以从Maven下载的jar中提取一些类文件。然后检查该类的主要版本如下:

$ javap -verbose someclass.class | grep -i major

这将指示用于编译的javac版本。