如何查找特定版本的Maven依赖关系的最小JDK版本?

问题描述:

现在我使用JDK1.5来开发程序,所以我必须保证我想使用的Maven依赖与JDK 1.5兼容。有时候,最新版本需要jdk高于1.5,但较旧的版本可能适合。 但是如何找到特定版本的Maven依赖关系的最小JDK版本? 我试过mvnrepository.com,但找不到jdk要求。有些项目主页只显示最新版本的jdk需求。 任何人都可以帮助我?谢谢!如何查找特定版本的Maven依赖关系的最小JDK版本?

+1

我们是在讨论手动检查还是以编程方式检查最小JDK版本? – ochi

+0

最好的解决方案是通过[animal-sniffer-maven-plugin](http://www.mojohaus.org/animal-sniffer/animal-sniffer-maven-plugin/)检查你使用的依赖关系,并且会失败你的构建如果你使用不同的。 除此之外,我会建议升级到Java 7或8 ... – khmarbaise

您可以检查类文件的主要/次要版本。如果JAR是使用Maven构建的,则可以在META-INF/MANIFEST.MF文件中检查用于构建它的JDK版本,该文件很可能是最低版本。

检查而不下载JAR的方法是检查Maven*例如POM上的POM。

http://search.maven.org/#artifactdetails%7Cnet.openhft%7Cchronicle-queue%7C4.5.15%7Cbundle

需要1.8

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <compilerArgument>-Xlint:deprecation</compilerArgument> 
       <compilerArgument>-XDignore.symbol.file</compilerArgument> 
       <source>1.8</source> 
       <target>1.8</target> 
       <encoding>UTF-8</encoding> 
      </configuration> 
     </plugin> 

要考虑的事情,如果甲骨文与所有它的资源不免费,你应该支持Java 7?

大部分的时间,你可以像这样

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>{java.sourceversion}</source> 
       <target>{java.targetversion}</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

这应该是足够了。