2016-11-08 90 views
5

現在我使用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

回答

1

您可以檢查類文件的主要/次要版本。如果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?

0

大部分的時間,你可以像這樣

<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> 

這應該是足夠了。