问题标签 [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 投票
2 回答
66 浏览

beanshell - 如何在 beanshell 中捕获异常?

我可以使用evaluateBeanshell规则来强制执行一些约定:src 下面的目录中没有冒号。

但是有些项目没有 src 目录,规则会很难失败。我试过设置

如何安全地捕获 src 目录的不存在?

0 投票
0 回答
61 浏览

maven-3 - 用于验证插件配置的 Maven 强制执行规则

构建一个执行器规则来验证有效 pom 中每个插件的配置在架构上是否可行?

我知道插件配置在使用前无法验证,但在构建中的任何时候都不验证它们是不可接受的。

0 投票
0 回答
31 浏览

pom.xml - maven-enforcer-plugin->

我正在使用 maven-enforcer-plugin 并且它运行良好。我试图了解如何使一些属性成为必需的和一些可选的。例如。我有一个名为 useGit 的属性。

  1. 当 useGit = true 时,我希望只强制执行 GIT 属性。
  2. 当 useGit = false 我希望只强制执行 SVN 属性。谢谢!
0 投票
1 回答
110 浏览

maven - Maven 执行器插件非常慢 - 省略,保留解释

我在我的项目中更新了一些依赖项的版本,构建变慢了,它在执行器插件处等待大约 5 分钟以上。我试图比较以前在 3 分钟内发生的构建的调试日志,与总共需要 8 分钟以上的调试日志相比,我提到的 5 分钟以上被执行者偷走了。我在日志中看到的唯一显着差异如下。没有错误或其他任何东西,而且这些日志移动缓慢。因此问题。如果有人知道这意味着什么以及我该如何通过这将有很大帮助

omitForNearer: 省略=commons-codec:commons-codec:jar:1.10:compile 保持=commons-codec:commons-codec:jar:1.10:compile

编辑

编辑 这就是我能得到的,从调试日志中提取了几行

omitForNearer:省略=com.mastercard.api:sdk-api-core:jar:1.4.31:compile keep=com.mastercard.api:sdk-api-core:jar:1.4.31:compile 18:55:41,514 [调试] omitForNearer: 省略=log4j:log4j:jar:1.2.14:test 保持=log4j:log4j:jar:1.2.14:compile 18:55:41,519 [调试]
omitForNearer: 省略=com.google.guava:guava: jar:26.0-jre:test 保持=com.google.guava:guava:jar:26.0-jre:compile 18:55:41,530 [DEBUG] omitForNearer:省略=org.apache.commons:commons-lang3:jar:3.4:测试保持=org.apache.commons:commons-lang3:jar:3.4:compile 18:55:41,550 [DEBUG] omitForNearer:省略=org.jmockit:jmockit:jar:1.35:测试保持=org.jmockit:jmockit:jar :1.35:compile 18:55:41,552 [DEBUG]
omitForNearer:省略=com.beust:jcommander:jar:1.72:compile keep=com.beust:jcommander:jar:1.72:compile 18:55:41,571 [DEBUG]
omitForNearer:省略=org.hamcrest:hamcrest-core:jar:1.3:编译保留=org.hamcrest:hamcrest-core:jar:1.3:编译18:55:41,608 [DEBUG]
omitForNearer:省略=org.slf4j:slf4j- api:jar:1.6.6:compile 保持=org.slf4j:slf4j-api:jar:1.6.6:compile 18:55:41,610 [DEBUG]
omitForNearer:省略=log4j:log4j:jar:1.2.14:compile 保持=log4j:log4j:jar:1.2.14:compile 18:55:41,651 [DEBUG]
omitForNearer:省略=commons-codec:commons-codec:jar:1.10:compile keep=commons-codec:commons-codec:jar:1.10 :compile 18:55:41,741 [DEBUG] omitForNearer:省略=joda-time:joda-time:jar:2.1:compile keep=joda-time:joda-time:jar:2.1:compile 18:55:41,748 [DEBUG]
omitForNearer: 省略=org.jdom:jdom:jar:1.1.3:compile 保持=org.jdom:jdom:jar:1.1.3:compile 18:55:41,756 [DEBUG]
omitForNearer: 省略=xpp3:xpp3:jar:1.1.4c:compile 保持=xpp3:xpp3:jar:1.1.4c:compile 18:55:41,759 [DEBUG]
omitForNearer:省略=org.apache-extras.beanshell:bsh:jar:2.0b6:编译保留=org.apache-extras.beanshell:bsh:jar:2.0b6:编译18:55:41,790 [DEBUG] omitForNearer:省略= com.thoughtworks.xstream:xstream:jar:1.4.14:compile keep=com.thoughtworks.xstream:xstream:jar:1.4.14:compile 18:55:41,816 [DEBUG] omitForNearer:省略=commons-codec:commons-编解码器:jar:1.10:编译保留=commons-codec:commons-codec:jar:1.10:编译18:55:41,830 [DEBUG] omitForNearer:省略=com.google.guava:guava:jar:26.0-jre:编译保留=com.google.guava:guava:jar:26.0-jre:compile 18:55:41,865 [DEBUG] omitForNearer: 省略=org.apache.commons:commons-lang3:jar:3.4:compile keep=org.apache.commons :commons-lang3:jar:3.4:compile 18:55:41,877 [DEBUG] omitForNearer:省略=org.freemarker:freemarker:jar:2.3.22:compile keep=org.freemarker:freemarker:jar:2.3.22:compile 18:55:41,878 [DEBUG] omitForNearer:省略=ognl:ognl:jar:3.0.21:compile keep=ognl:ognl:jar:3.0.21:compile 18:55:41,905 [DEBUG]
omitForNearer: 省略=org.hibernate:hibernate-core:jar:3.6.0.Final:compile keep=org.hibernate:hibernate-core:jar:3.6.0.Final:compile 18:55:41,914 [DEBUG] omitForNearer:省略=org.apache.commons:commons-lang3:jar:3.4:compile 保留=org.apache.commons:commons-lang3:jar:3.4:compile 18:55:41,930 [DEBUG] omitForNearer:省略=org.apache。 commons:commons-lang3:jar:3.4:compile 保持=org.apache.commons:commons-lang3:jar:3.4:compile 18:55:41,952 [DEBUG] omitForNearer:省略=org.apache.httpcomponents:httpcore:jar: 4.4.11:编译保留=org.apache.httpcomponents:httpcore:jar:4.4.11:编译18:55:41,964 [DEBUG] omitForNearer:省略=org.apache.httpcomponents:httpcore:jar:4.4.11:编译保留=org.apache.httpcomponents:httpcore:jar:4.4.11:compile 18:55:41,974 [DEBUG] omitForNearer:省略=commons-logging:commons-logging:jar:1.2:compile 保留=commons-logging:commons-logging:jar:1.2:compile 18:55:42,028
omitForNearer: 省略=org.springframework:spring-core:jar:4.3.21.RELEASE:compile 保持=org.springframework:spring-core:jar:4.3.21.RELEASE:compile 18:55:42,063 [DEBUG] omitForNearer:省略=org.springframework:spring-beans:jar:4.3.21.RELEASE:compile 保持=org.springframework:spring-beans:jar:4.3.21.RELEASE:compile 18:55:42,066 [DEBUG] omitForNearer:省略= org.springframework:spring-core:jar:4.3.21.RELEASE:compile keep=org.springframework:spring-core:jar:4.3.21.RELEASE:compile 18:55:42,069 [DEBUG] omitForNearer:省略=org. springframework:spring-beans:jar:4.3.21.RELEASE:compile keep=org.springframework:spring-beans:jar:4.3.21.RELEASE:compile 18:55:42,075 [DEBUG] omitForNearer:省略=org.springframework: spring-aop:jar:4.3.21.RELEASE:compile 保持=org.springframework:spring-aop:jar:4.3.21.RELEASE:compile 18:55:42,077 [DEBUG] omitForNearer:省略=org.springframework:spring-beans:jar:4.3.21.RELEASE:compile keep=org.springframework:spring-beans:jar: 4.3.21.RELEASE:compile 18:55:42,079 [DEBUG] omitForNearer:省略=org.springframework:spring-core:jar:4.3.21.RELEASE:compile keep=org.springframework:spring-core:jar:4.3。 21.RELEASE:compile 18:55:42,084 [DEBUG] omitForNearer:省略=org.springframework:spring-core:jar:4.3.21.RELEASE:compile keep=org.springframework:spring-core:jar:4.3.21。发布:编译 18:55:42,087 [DEBUG] omitForNearer:省略=org.springframework:spring-core:jar:4.3.21.RELEASE:compile keep=org.springframework:spring-core:jar:4.3.21.RELEASE:编译 18:55:42,094 [DEBUG] omitForNearer: 省略=org.springframework:spring-core:jar:4.3.21.RELEASE:compile keep=org.springframework:spring-core:jar:4.3.21.RELEASE:compile 18:55:42,104 [DEBUG] omitForNearer:省略=com.fasterxml.jackson.core:jackson-注释:jar:2.10.1:编译保持=com.fasterxml.jackson.core:jackson-annotations:jar:2.10.1:编译18:55:42,109 [调试] omitForNearer:省略=com.google.guava:guava: jar:26.0-jre:compile keep=com.google.guava:guava:jar:26.0-jre:compile 18:55:42,119 [DEBUG] omitForNearer:省略=org.apache.commons:commons-lang3:jar:3.4:编译保持=org.apache.commons:commons-lang3:jar:3.4:compile 18:55:42,121 [DEBUG]jackson-annotations:jar:2.10.1:compile 18:55:42,109 [DEBUG] omitForNearer:省略=com.google.guava:guava:jar:26.0-jre:compile keep=com.google.guava:guava:jar: 26.0-jre:compile 18:55:42,119 [DEBUG] omitForNearer:省略=org.apache.commons:commons-lang3:jar:3.4:compile keep=org.apache.commons:commons-lang3:jar:3.4:compile 18 :55:42,121 [调试]jackson-annotations:jar:2.10.1:compile 18:55:42,109 [DEBUG] omitForNearer:省略=com.google.guava:guava:jar:26.0-jre:compile keep=com.google.guava:guava:jar: 26.0-jre:compile 18:55:42,119 [DEBUG] omitForNearer:省略=org.apache.commons:commons-lang3:jar:3.4:compile keep=org.apache.commons:commons-lang3:jar:3.4:compile 18 :55:42,121 [调试]
omitForNearer:省略=org.apache.httpcomponents:httpcore:jar:4.4.11:编译保留=org.apache.httpcomponents:httpcore:jar:4.4.11:编译[DEBUG]
omitForNearer:省略=org.hamcrest:hamcrest-core :jar:1.3:compile keep=org.hamcrest:hamcrest-core:jar:1.3:compile 18:55:42,138 [DEBUG]
omitForNearer:省略=org.hamcrest:hamcrest-library:jar:1.3:compile keep=org. hamcrest:hamcrest-library:jar:1.3:compile 18:55:42,139 [DEBUG] omitForNearer:省略=commons-io:commons-io:jar:2.6:compile keep=commons-io:commons-io:jar:2.6:编译 18:55:42,141 [调试]
omitForNearer:省略=commons-collections:commons-collections:jar:3.2.2:编译保留=commons-collections:commons-collections:jar:3.2.2:编译18:55:42,143 [DEBUG] omitForNearer:省略=commons- lang:commons-lang:jar:2.6:compile 保持=commons-lang:commons-lang:jar:2.6:compile 18:55:42,149 [DEBUG]
omitForNearer:省略=org.apache.httpcomponents:httpclient:jar:4.5.13:编译保留=org.apache.httpcomponents:httpclient:jar:4.5.13:编译18:55:42,162 [DEBUG] omitForNearer:省略=org。 apache.httpcomponents:httpclient:jar:4.5.13:compile 保持=org.apache.httpcomponents:httpclient:jar:4.5.13:compile 18:55:42,164 [DEBUG] omitForNearer:省略=commons-codec:commons-codec: jar:1.10:compile keep=commons-codec:commons-codec:jar:1.10:compile 18:55:42,171 [DEBUG] omitForNearer:省略=com.google.guava:guava:jar:26.0-jre:compile keep=com .google.guava:guava:jar:26.0-jre:compile 18:55:42,190 [DEBUG] omitForNearer:省略=com.fasterxml.jackson.core:jackson-databind:jar:2.10.1:compile keep=com.fasterxml .jackson.core:jackson-databind:jar:2.10.1:compile 18:55:42,200 [DEBUG] omitForNearer:省略=org.apache.commons:commons-lang3:jar:3.4:compile 保持=org.apache.commons:commons-lang3:jar:3.4:compile 18:55:42,202 [DEBUG] omitForNearer:省略=log4j:log4j:jar:1.2.14:compile 保持=log4j:log4j:jar:1.2.14:编译 18:55:42,204 [调试]
omitForNearer: 省略=com.google.guava:guava:jar:26.0-jre:compile 保持=com.google.guava:guava:jar:26.0-jre:compile 18:55:42,208 [DEBUG] omitForNearer:省略=commons- cli:commons-cli:jar:1.3.1:compile 保持=commons-cli:commons-cli:jar:1.3.1:compile 18:55:42,210 [DEBUG]
omitForNearer:省略=com.google.guava:guava: jar:26.0-jre:compile 保持=com.google.guava:guava:jar:26.0-jre:compile

0 投票
1 回答
41 浏览

maven - 仅在不包含本地解决方案的情况下,Maven 执行器依赖收敛?

我不得不禁用该dependencyConvergence规则,因为它鼓励数以百万计的规则<excludes>一旦存在就必须永远维护。我想要的是这条规则只强调缺乏收敛是不受控制的;当前项目没有给出明确的版本(通过<dependencies><dependencyManagement>)。

那可能吗?

#1d可能不知道 commons-lang3 来自两个具有冲突版本的不同传递部门。执行者应该标记这一点。

#2d已明确包含 3.1。不要标记这个。不要坚持<exclusions>把它放在适当的位置,说明我们想要什么,因为我们已经清楚地说明了版本想要什么

#3 更巧妙的是,我认为c已经解决了与其后代的任何冲突。这不应该被标记。毕竟,如果c从那时开始运行相同的检查,那就是场景 #2。因此#2 是简单的情况#3。

更新:#2<depdendencyManagement>仅适用于。一个重要的问题是<depdendencyManagement> 它不能传递地工作(MNG-5761),所以任何嵌套的分辨率都会丢失。

0 投票
1 回答
113 浏览

maven - 为什么即使在排除中,Maven 也不会排除测试依赖项?

我有以下...

但是当我跑步时,mvn clean package我得到...

为什么不忽略dep?

0 投票
1 回答
185 浏览

maven - 使用 maven enforcer 插件时如何解决“依赖收敛错误”?

我只是想maven-enforcer-plugin用一个小的 pom 来获取(在我进入我的项目 pom 之前,它有 100 多个依赖项。)
在我添加了执行器插件之后,我看到了Dependency convergence error. pom.xml文件在下面(抱歉它不整洁)
。 如何在不禁用强制插件的情况下修复错误。 基本上我想了解如何使用规则背后的概念。
dependencyConvergence

这是否意味着,我必须在此版本的pom.xml中显式声明dependencyManagement 中的每个非收敛依赖项(将依赖项添加到dependencyManagement)。
问题spring-context 仍然存在,因为我已将其添加为直接依赖项,然后在具有不同版本的依赖项管理中。

基本上 - 能够修复错误,但还不能清楚地掌握规则。

  1. 修复一个 - pom.xml - 将依赖管理中的版本更新为明确使用的版本。所以现在不需要在依赖项中明确给出版本。但这需要我能够访问父 pom 的dependencyManagment。如果我的说法是正确的,那么情况可能并非每次都如此。

  2. 修复两个pom.xml - 从 spring-security-web 中排除 spring-context 并且它有效。但是,如果要进行十几个排除,那将是一件痛苦的事情。

如果这是采用收敛规则的方法?在具有 100 多个依赖项和 100 多个传递依赖项的企业项目中,物料清单 (BOM) 将非常庞大并且需要时间来构建。嗯。(我同意,对使用的版本和使用 <xyz.version> 之类的属性会有更多的控制,升级可以轻松完成)。

如果有人能列出涉及收敛的规则,我将不胜感激。

0 投票
0 回答
25 浏览

java - Maven Enforcer 扩展

我刚刚发现了 Maven Enforcer Extension

https://maven.apache.org/enforcer/maven-enforcer-extension/usage.html

我想知道是否可以在实际项目之外配置它,例如在settings.xmlMaven 安装或命令行中。

我看到加载扩展可以通过在 Maven 安装中添加一个 JAR 来完成,但是仍然需要在某处配置规则。

用例:我们想为我们所有的项目强制执行一些规则,但不幸的是,有些项目不能使用公司父 POM。由于我们有超过 1000 个项目,如果有一些独立于项目的方式来实现这一点,那就太好了。

编辑

似乎配置文件的位置是硬编码的:

https://github.com/apache/maven-enforcer/blob/enforcer-3.0.0/maven-enforcer-extension/src/main/java/org/apache/maven/extensions/enforcer/EnforceExtension.java#L56

所以我可能需要派生插件,或者在 Maven 构建之前“即时”创建文件。