繁体   English   中英

我们如何确定在Maven中使用哪个Java版本来编译库的版本?

[英]How do we decide which java version is used to compile a version of library in maven?

我的本地安装程序配置了所有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中,我看不到任何此类信息。

51的主要版本表示它是用Java 7编译的。52的主要版本是指它是用Java 8编译的。Java6的主要版本是50。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM