代码之家  ›  专栏  ›  技术社区  ›  user1050755

在不安装旧jdk的情况下检查maven中的java版本/api compat?

  •  0
  • user1050755  · 技术社区  · 6 年前

    有没有办法在不安装和使用特定jdk版本的情况下确保maven模块与旧的java版本兼容?例如,一些插件?

    示例:java.lang.string.isblank()仅在JDK 11中可用,因此插件应检查目标版本为<=10时是否使用了该方法。

    或者,我可以编写一些插件执行来下载/解包jdk,然后针对特定的jdk构建当前项目。不过,那会很难看。

    0 回复  |  直到 6 年前
        1
  •  0
  •   user1050755    6 年前

    动物嗅探器推荐非常有效:

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>animal-sniffer-maven-plugin</artifactId>
                <version>1.17</version>
                <executions>
                    <execution>
                        <id>verify-java-api</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>verify</phase>
                    </execution>
                </executions>
                <configuration>
                    <signature>
                        <groupId>org.codehaus.mojo.signature</groupId>
                        <artifactId>java18</artifactId>
                        <version>1.0</version>
                    </signature>
                </configuration>
            </plugin>
    

    更新:该动物嗅探器配置未发现此问题:

    symbol:   variable RELEASE_10
    location: class javax.lang.model.SourceVersion