如何找到特定版本的maven依赖的最小JDK版本?

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

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

您可以查看 class 文件的 major/minor 版本。如果 JAR 是使用 Maven 构建的,您可以在 META-INF/MANIFEST.MF 文件中检查用于构建它的 JDK 的版本,这很可能是最低版本。

一种不下载 JAR 的检查方法是在 Maven Central 上检查 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>

需要考虑的一点是,如果 Oracle 及其所有资源不支持免费 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>

这应该足够了。