问题标签 [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.
maven - 如何强制设置指向 systemPath 基目录的属性?
我正在尝试强制使用 maven 强制执行器插件设置属性。该属性应指向一个目录,并用作某些系统范围依赖项的基本目录。我有以下内容pom.xml
:
现在,当我在non.existent.property
未设置属性的情况下运行项目时,我得到以下输出:
在调用执行器插件之前出现报告的错误。我相信这是因为强制目标的文档指出:
需要在范围内收集工件的依赖项:测试。
如何强制在收集依赖项之前设置属性?
java - 无法执行 org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce: org/codehaus/plexus/util/StringUtils
执行目标 org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce 的强制版本失败:执行 org.apache.maven.plugins:maven-enforcer-plugin:1.4 时缺少所需的类。 1:执行:org/codehaus/plexus/util/StringUtils 使用 jhipster 4.3.0
运行 mvn clean install 时出现以下错误:
java - 表示不能有以字符串“master-”开头的项目版本或依赖项版本的自定义规则
我正在按照writing-a-custom-rule创建自定义规则。
目的是使用maven-enforcer-plugin来完成以下目标:
“编写一个自定义规则,说明不能有以字符串 'master-' 开头的项目版本或依赖项版本”。
所以我有以下java类-
但是该类仅检查项目版本。我也想获得依赖版本。如何获取所有版本以检查它们是否从“master-”开始?
java - 在外部项目中执行自定义规则
我在该项目中有一个 Parent maven 项目和 4 个模块:
现在我想放一些自定义规则,说不能有以字符串“master-”开头的项目版本或依赖版本。此规则将适用于所有依赖 eBill Software 的外部项目。
因此,我创建了一个名为 customRule 的新模块,其父模块又是 eBill Software。我遵循了编写自定义规则,并且我的规则类在新模块中。
模块customRule中CustomRule.java的相关部分:
customRule 模块 pom.xml 的相关部分:
现在我想在父模块 eBill Software 中访问这个自定义规则:
那么我应该在其 pom.xml 和外部项目的 pom.xml 中输入什么才能获得适用于依赖于 eBill Software 的所有外部项目的自定义规则。
java - maven 自定义规则失败或通过而不考虑自定义规则
我正在关注编写自定义规则文档来创建自定义规则并应用它。
我的执行器插件执行在 pom.xml 文件中有以下条目-
问题是,如果我坚持下去<shouldIfail>true</shouldIfail>
,我总是会失败,如果我坚持下去<shouldIfail>false</shouldIfail>
,我总是会成功。
所以我不知道如何将java类变量的值shouldIfail
放在标签中,以便它根据逻辑动态传递或失败。
maven - 使用 YAML 配置 Maven - maven-enforcer-plugin 是特定的 - 不起作用
我的 Maven POM 是 YAML(感谢io.takari.polyglot
),我很难在 YAML 中编写配置,因为该示例具有值,但我相信我应该将maven-enforcer-plugin
' 的banTransitiveDependencies
规则配置为采用 noincludes
或excludes
。
到目前为止,这是我的尝试:
但插件抱怨:
[错误] 无法在项目 my-app 上执行目标 org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1:enforce (enforce-ban-transitive-deps):无法解析 mojo org 的配置.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1:enforce 用于参数规则:无法创建接口 org.apache.maven.enforcer.rule.api.EnforcerRule 的实例:org.apache.maven.enforcer .rule.api.EnforcerRule.() -> [帮助 1]
这是文档:https ://maven.apache.org/enforcer/enforcer-rules/banTransitiveDependencies.html
并且按照该示例将包含和排除一些我现在不想做的东西 - 因为我想设置它来玩,一旦我弄清楚了配置!
我也尝试通过https://www.site24x7.com/tools/xml-to-yaml.html将他们的 XML 放入,但它仍然给出相同的错误。
如果您想尝试,pom.yml
然后创建一个名为的目录和文件.mvn/extensions.xml
并将其放在项目的根目录中(在 旁边pom.xml
),然后开始:
maven - “禁止传递依赖”会导致构建失败,即使它以前显然有效
我正在尝试从源代码构建WildFly 10.1.0.Final。
构建导致违反“禁止传递依赖”规则:
这会导致构建失败:
我确信它一定在某个时候起作用了——WildFly 是一个非常活跃的开源项目,无法想象如果它甚至无法构建一个版本会达到最终版本。
我可能遗漏了一些东西(因为我以前从未使用过 Ban Transitive Dependencies),但我无法理解从那时到现在发生了什么变化。
首先,正如预期的那样,wildfly-feature-pack
确实取决于cxf-rt-features-clustering
. 此外,我们可以注意到它有一个wildfly-parent
. 最后,在这个项目本身中指定了“ban-transitive-deps”规则。这些东西都可以在它的 POM 中看到。
的版本在父 POM 中固定为cxf-rt-features-clustering
在与“3.1.6”相同的 POM中定义的值。${version.org.apache.cxf}
查看该工件的 POM,它甚至不依赖于xalan:xalan
. 但是,它确实取决于大量其他事情。这些不会导致“禁止传递依赖”规则失败吗?为什么 Maven 执行器插件“认为”它确实依赖xalan:xalan
?
此外,为什么执行器输出甚至显示xalan:xalan
依赖于另一个工件?当然,违反wildfly-feature-pack
依赖cxf-rt-features-clustering
和cxf-rt-features-clustering
依赖的规则就足够了xalan
?这不就意味着它wildfly-feature-pack
具有传递依赖吗?
我想我可能误解了整个“禁止传递依赖”规则本身。官方文档并不是很有帮助,它只是说这个“规则禁止所有传递依赖”,这很明显。
maven - 如何使用 Maven 解决依赖错误
我正在尝试解决我的 Maven 项目中的库之间的冲突。我将以下插件添加到插件部分:
当我运行时mvn enforcer:enforce
,我得到不同的依赖错误,比如这个:
那么,在打包 JAR 时如何解决这些错误呢?在 SBT 中它更容易,但我被 Maven 卡住了。
maven - 如何配置 maven-enforcer-plugin 以排除测试范围内的某些规则?
如何配置 maven-enforcer-plugin 以排除测试范围内的某些规则?
我有这样的配置:
但我只想检查常规代码的 JDK 版本,而不是测试范围。
java - 未能获得 100% 的覆盖率
我正在使用 spring 并使用 mvn site 检查我的测试覆盖率和应用程序依赖收敛,我收到 [错误] 错误你没有 100% 收敛。
我说问题出在模块 rest-producer 中的 slf4g 版本上,但我在这个模块中看不到我的版本有任何问题,如下所示。
休息生产者
我能得到一些建议吗?这个项目有大约 9 个模块
我正在使用的 is jsonPath 有一个依赖项
我也在使用的推土机有
版本不同我认为这是问题,但我能做些什么来排除其中一个或更改它们的依赖版本