Germinate
Germinate

Reputation: 2098

How to find the minimum JDK version of a specific version of maven dependency?

Now I use the JDK1.5 to develop the program, so I have to guarantee the maven dependencies I want to use are compatible with the JDK 1.5 . Sometimes, latest version needs jdk higher than 1.5 but older version may fit. But how to find the minimum JDK version of a specific version of maven dependency? I have tried mvnrepository.com but can not find the jdk requirement. Some project home page only show the jdk requirement of latest version. Anyone can help me? Thank you!

Upvotes: 17

Views: 8673

Answers (3)

VladislavShcherba
VladislavShcherba

Reputation: 460

It seems that the only one hundred percent solution is to check minimum required JDK version for .class files inside jar. Check this question.

Upvotes: 0

Avinash
Avinash

Reputation: 2191

Most of the times you can do like this

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

this should be enough.

Upvotes: 0

Peter Lawrey
Peter Lawrey

Reputation: 533530

You can check the major/minor version of the class files. If the JAR was built with Maven you can check the version of the JDK used to build it in the META-INF/MANIFEST.MF file which is most likely the minimum version.

A way to check without downloading the JAR is to check the POM on maven central e.g.

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

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

Something to consider, if Oracle with all it's resources doesn't support Java 7 for free, should you?

Upvotes: 7

Related Questions