问题标签 [maven-enforcer-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
306 浏览

scala - 无法为 Scala 2.12 编译 Flink 1.7.2:Maven 执行器发现被禁止的依赖项

我正在尝试为 Scala 2.12 编译 Flink 1.7.2,以获取 AWS Kinesis 连接器,它被排除在二进制发行版之外,如此处所述

我从这里下载了源代码并使用了以下命令:

但我收到以下错误:

我不明白为什么要禁止这些依赖项,因为pom.xmlscala-2.12配置文件中,这些依赖项以这种方式被禁止:

之前,我成功为 Scala 2.11 编译了 Flink。为了确保我的环境没有被之前的编译污染,我删除并重新下载了 Flink 源,并彻底清除了.m2Maven 缓存。

0 投票
1 回答
115 浏览

maven - 如何让 Maven 执行器插件不报告依赖收敛错误两次?

考虑以下示例:

这两个警告都是相同的收敛错误。第二个是前面警告的摘要,报告以前发现的错误数组。然而,这只会产生很多多余的视觉噪音。这个例子并不是那么痛苦,但是当你有几个收敛错误时,它就会变得一团糟。我没有成功地搜索文档以使插件只报告一次这些东西——这可能吗?

(注意这是 maven-enforcer-plugin v. 1.4.1)

0 投票
0 回答
76 浏览

maven - Maven:强制所有子目录都是聚合器 pom 中的模块

我们有带有一组示例应用程序的git 存储库。每个示例应用程序都有自己的子目录和自己的 pom.xml,但没有共同的父 pom。根级别有一个聚合器 pom,它应该列出所有示例应用程序。

因为每个示例应用程序都依赖于我们的核心产品,并且我们希望示例应用程序使用我们的最新版本,所以我们maven-versions-plugin从根级别运行以使所有应用程序保持最新。但是,添加新示例应用程序(子文件夹)的开发人员忘记将它们添加到聚合器 pom。因此,这些示例应用程序将随着时间的推移变得陈旧。

maven 有没有办法强制所有子目录在聚合器 pom 中列为模块?我们可以为 编写一个自定义的执行器规则maven-enforcer-plugin但首先要检查更好的替代方案。

我们不希望示例应用程序有我们这边的父 pom,因为客户应该能够修改示例应用程序并从他自己的父级继承。

0 投票
1 回答
22 浏览

maven - 如何使用完整的布尔逻辑强制激活 Maven 配置文件?

我有以下情况,maven-enforcer-plugin( https://maven.apache.org/enforcer/enforcer-rules/index.html )没有涵盖:

5 个人资料:

  • scala-2.11
  • scala-2.12
  • 火花-2.2
  • 火花-2.3
  • 火花-2.4

以及以下执行规则:

  • 必须激活 scala 2.11 和 2.12 中的确切一个
  • 必须激活 spark 2.2、2.3 和 2.4 中的一个
  • spark 2.2 & 2.3 与 scala 2.12 不兼容

现有的 Maven 插件太弱而无法实现。我还有什么其他选择?

0 投票
2 回答
176 浏览

maven - 相同的工件使用相同依赖项的不同版本

我正在使用 maven enforcer 插件,但我发现了这种依赖收敛的奇怪案例:

这是依赖声明:

您可以看到相同的工件使用相同依赖项的不同版本。这怎么可能发生?抑制警告的唯一方法是在我的 pom.xml 中包含该依赖项的最新版本作为直接依赖项。

我错过了什么吗?

0 投票
1 回答
306 浏览

java - 将参数添加到从命令行调用的 Maven Enforcer Rules

https://stackoverflow.com/a/59389998/927493之后,现在可以从命令行调用 Maven 执行器插件。

这很好用,但不幸的是我还不明白我是否可以通过命令行设置规则参数。version规则中有一个例子RequireMavenVersion

0 投票
1 回答
162 浏览

java - io.github.dropwizard-jobs 的 Maven 依赖项

我正在使用 io.github.dropwizard-jobs ( https://github.com/dropwizard-jobs/dropwizard-jobs ) 作为 Dropwizard 项目中的调度程序。

添加了 POM 依赖项

集成通过 eclipse 在本地运行良好,但是当尝试使用创建包时mvn clean package,出现以下错误。

请让我知道我缺少什么或需要添加什么。

0 投票
0 回答
185 浏览

java - 检查单个工件的依赖收敛

考虑以下 Maven 项目,它有一个父级和两个模块。

父母

模块1

模块2

模块 1 依赖于weld-se-core,而后者又依赖于jakarta.enterprise.cdi-api. 模块 2 本身依赖于jakarta.enterprise.cdi-api. 此外,模块 1 依赖于junit-jupitermockito-junit-jupiter,它们都依赖于junit-jupiter-api,但不幸的是在不同的版本中。请将此作为示例。在我的真实项目中,这是一些私有第三方依赖项,具有更大的依赖关系树,既不能也不想改变.

由于这两个模块都在我的控制之下,我想确保weld-se-core在模块 1 中更新时,jakarta.enterprise.cdi-api在模块 2 中相应地更新。我尝试使用maven-enforcer-plugin以下规则

问题是:requireSameVersions不会破坏构建,当版本jakarta.enterprise.cdi-api不匹配时dependencyConvergence向我显示所有错误,而不仅仅是有关jakarta.enterprise.cdi-api.

使用dependencyConvergence规则时的消息如下(略)

第一个警告是需要的,第二个是不需要的。

问题:有什么方法可以确保仅针对特定依赖集的依赖收敛?

0 投票
1 回答
306 浏览

maven - 使 maven-enforcer-plugin 依赖收敛规则忽略工件的次要版本

我想maven-enforcer-plugin在我的 maven 项目中引入,但不想在评估规则时比较错误修复版本。

例如:groupId-artifactId-X.Y.A并且groupId-artifactId-X-Y-B不应被视为规则失败。

当前插件配置如下所示

如果一个工件,比如说从两个不同的直接列出的依赖项中作为传递依赖项被拉入,如果版本仅与次要版本不同aws-java-sdk,则插件不应引发错误和。如果功能/主要版本不同,它应该只引发错误,例如和aws-java-sdk1.21.6671.21.7001.21.6671.17.111

0 投票
1 回答
423 浏览

maven - IntelliJ 引入 maven-enforcer-plugin 而不是 pom.xml 的明确一部分

在进行构建时,IntelliJ我收到错误消息

我的 Maven 版本是3.3.9,这是我想要坚持的版本。我确实记得第一次打开IntelliJ时,通过一个 UI 要求我指定一个最小和一个最大版本Maven,我确实指定3.6了一个最小值。但是,此时我很难找到相同的设置。有人可以指出版本边界IntelliJ的设置在哪里吗?Maven

我在用着IntelliJ 2017.3.5