2016-11-08 20 views
5

Teraz używam JDK1.5 do opracowania programu, więc muszę zagwarantować, że zależności, które chcę użyć, są kompatybilne z JDK 1.5. Czasami najnowsza wersja wymaga jdk wyższej niż 1.5, ale starsza wersja może pasować. Ale jak znaleźć minimalną wersję JDK konkretnej wersji zależności maven? Próbowałem już mvnrepository.com, ale nie mogę znaleźć wymagania jdk. Na stronie głównej projektu wyświetlane jest tylko wymaganie jdk najnowszej wersji. Ktoś może mi pomóc? Dziękuję Ci!Jak znaleźć minimalną wersję JDK konkretnej wersji zależności maven?

+1

Czy mówimy o ręcznym sprawdzaniu lub programowym sprawdzaniu minimalnej wersji JDK? – ochi

+0

Najlepszym rozwiązaniem jest sprawdzenie zależności używanych przez [animal-sniffer-maven-plugin] (http://www.mojohaus.org/animal-sniffer/animal-sniffer-maven-plugin/) i nie powiedzie się twoja kompilacja jeśli używasz innego. Oprócz tego proponuję uaktualnienie do wersji Java 7 lub 8 ... – khmarbaise

Odpowiedz

1

Można sprawdzić wersję główną/pomocniczą plików klas. Jeśli JAR został zbudowany z Maven, możesz sprawdzić wersję JDK użytego do zbudowania go w pliku META-INF/MANIFEST.MF, który jest najprawdopodobniej minimalną wersją.

Sposób sprawdzenia bez pobierania pliku JAR polega na sprawdzeniu POM na obiekcie centralnym, np.

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

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

coś do rozważenia, jeśli Oracle ze wszystkich jego zasobów nie obsługuje Java 7 za darmo, należy?

0

Większość czasu można zrobić, jak to

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

powinno to wystarczyć.