簡體   English   中英

在命令行上運行 Maven Enforcer Plugin 規則

[英]Run Maven Enforcer Plugin rule on command line

我想在沒有任何 POM 配置的 Maven 項目上強制執行 Maven Enforcer Plugin 的 requireReleaseDeps 規則,只是作為命令行調用。

根據文檔,我應該能夠像這樣傳入規則參數

mvn enforcer:enforce -Drules=requireReleaseDeps

或者這應該有效

mvn enforcer:enforce -Drules=org.apache.maven.plugins.enforcer.RequireReleaseDeps

然而,這兩個調用都會導致

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforce (default-cli) on project hel
lo-world: The parameters 'rules' for goal org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforce are missing or in
valid -> [Help 1]

有人知道這個使用場景是否真的有效,或者我是否必須在這個階段深入調試插件來解決這個問題?

在插件的 3.0.0-M3 版本和更新版本中,執行器目標現在支持規則參數和命令行執行,而無需在 pom.xml 中進行配置。 https://maven.apache.org/enforcer/maven-enforcer-plugin/enforce-mojo.html#commandLineRules查看更多

不幸的是,目前沒有這樣的功能,但已經有一個JIRA 問題

它適用於3.0.0-M3版本:

mvn org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce -Drules=requireReleaseDeps

它從 3.0.0 開始可用。 已接受答案中的 Jira 問題已解決: https : //issues.apache.org/jira/browse/MENFORCER-142

mvn enforcer:enforce -Drules=alwaysPass,alwaysFail

使用 Atlassian 的插件分支為我工作: mvn org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-atlassian-m01:enforce -Drules=...

我不得不聲明他們的插件庫:

<pluginRepositories>
    ....
    <pluginRepository>
        <id>atlassian-3rdparty</id>
        <url>https://maven.atlassian.com/3rdparty</url>
    </pluginRepository>
</pluginRepositories>

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM