强制工件仅取决于等于或低于 Java 源版本的工件
Enforce artifact only depends on artifacts of equal or lower Java source version
我正在升级一个拥有 3000 多个 java maven 项目和 repos 的庞大系统,并将其部署为一个整体 war 从 Java 7 到 8。我们将尝试一次迁移部分系统,这意味着一些工件将使用 jdk7 和一些 jdk8 构建。
问题是;当使用 jdk7 构建的工件依赖于 jdk8 工件时,有没有一种方法(maven 插件或其他东西)来强制执行(构建失败)。允许反向 (jdk8 -> jdk7) 以及 jdk8 -> jdk8。我不认为 maven enforcer 插件中的任何内置规则可以做到这一点,而且这样做可能既困难又耗时?
希望我说清楚了。有什么建议吗?
谢谢!
原来的答案没有了,我再写一遍,详细一点。
您可以使用额外的执行者规则
http://www.mojohaus.org/extra-enforcer-rules/enforceBytecodeVersion.html
您将此插件配置为在您的所有项目中最多使用 JDK 1.7(使用 maxJdkVersion
属性)。然后禁用对已迁移到的所有项目的检查 Java 8.
我正在升级一个拥有 3000 多个 java maven 项目和 repos 的庞大系统,并将其部署为一个整体 war 从 Java 7 到 8。我们将尝试一次迁移部分系统,这意味着一些工件将使用 jdk7 和一些 jdk8 构建。
问题是;当使用 jdk7 构建的工件依赖于 jdk8 工件时,有没有一种方法(maven 插件或其他东西)来强制执行(构建失败)。允许反向 (jdk8 -> jdk7) 以及 jdk8 -> jdk8。我不认为 maven enforcer 插件中的任何内置规则可以做到这一点,而且这样做可能既困难又耗时?
希望我说清楚了。有什么建议吗?
谢谢!
原来的答案没有了,我再写一遍,详细一点。
您可以使用额外的执行者规则
http://www.mojohaus.org/extra-enforcer-rules/enforceBytecodeVersion.html
您将此插件配置为在您的所有项目中最多使用 JDK 1.7(使用 maxJdkVersion
属性)。然后禁用对已迁移到的所有项目的检查 Java 8.