如果Java运行时高于给定版本,则强制Maven失败
我有一个遗留项目的情况,如果使用JDK运行时而不是1.8或1.9调用Maven,我需要一个项目失败。原因是当前项目的依赖项曾经是JDK的一部分,但现在不再从JDK 11开始
这不同于为maven插件编译器指定源和目标版本(当前设置为8)
构建已经失败了,抱怨无法解决的依赖关系,但我希望它失败时会出现一条消息,说“您需要使用JDK 8/9运行时”(清晰度永远是王道)
这只是一个权宜之计,以避免人们因使用JDK 11+而对未编译的内容发送恐慌性电子邮件,我不能指望每个人都在他们的工具链中设置自己的JDK。xml
# 1 楼答案
您可以使用maven enforcer插件:
注意:我没有测试范围表达式
资料来源:https://maven.apache.org/enforcer/enforcer-rules/requireJavaVersion.html