2016-07-01 53 views
2

當我運行versions:display-dependency-updates時,它會顯示我所有依賴關係的最新beta/milestone版本。我更喜歡使用「發佈」軟件包。如何僅顯示發佈版本的依賴關係更新

versions:use-latest-releases談到了用最新版本的「替換」。不過,我更喜歡手動更新版本。

我可以運行版本插件爲我提供關於我的依賴和插件的最新「發佈」版本的報告嗎?

我這裏指的是包裝的「類型」 mvnrepository.org

+0

我有我的懷疑,你會得到有關'SNAPSHOT'versions默認情況下,這個參數設置爲'false''的信息http://www.http.www.mojohaus.org/versions-maven-plugin/display-dependency- updates-mojo.html?你使用哪個版本? – khmarbaise

+0

我正在尋找「發佈」狀態。問題不在於如何避免快照。爲了清晰起見,我編輯了快照。 –

回答

1

兩個步驟

添加rulesUri到插件配置

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>versions-maven-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
     <rulesUri>file:///${project.basedir}/rules.xml</rulesUri> 
    </configuration> 
    <executions> 
     <execution> 
     <phase>compile</phase> 
     <goals> 
      <goal>display-dependency-updates</goal> 
      <goal>display-plugin-updates</goal> 
     </goals> 
     </execution> 
    </executions> 
</plugin> 

rules.xml文件添加到項目的根目錄。

<?xml version="1.0" encoding="UTF-8"?> 
<ruleset xmlns="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" comparisonMethod="maven" xsi:schemaLocation="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0 http://mojo.codehaus.org/versions-maven-plugin/xsd/rule-2.0.0.xsd"> 
    <ignoreVersions> 
     <!-- Ignore Alpha's, Beta's, release candidates and milestones --> 
     <ignoreVersion type="regex">(?i).*Alpha(?:-?\d+)?</ignoreVersion> 
     <ignoreVersion type="regex">(?i).*a(?:-?\d+)?</ignoreVersion> 
     <ignoreVersion type="regex">(?i).*Beta(?:-?\d+)?</ignoreVersion> 
     <ignoreVersion type="regex">(?i).*-B(?:-?\d+)?</ignoreVersion> 
     <ignoreVersion type="regex">(?i).*RC(?:-?\d+)?</ignoreVersion> 
     <ignoreVersion type="regex">(?i).*CR(?:-?\d+)?</ignoreVersion> 
     <ignoreVersion type="regex">(?i).*M(?:-?\d+)?</ignoreVersion> 
    </ignoreVersions> 
    <rules> 
    </rules> 
</ruleset> 

正則表達式濾除不穩定版本。您也可以針對特定的相關規則,請參見:

http://blog.xebia.com/keeping-dependencies-up-to-date-in-maven/

https://gist.github.com/seahrh/b13f4f3d618ad7c817038e0bc124ef29

版規則也將插件的stay for future releases

+0

的信息添加(?i)。* - b(?: - ?\ d +)?,但無論如何版本:1.5.0-b01出現在結果中。我測試了這個正則表達式並且可以工作。 –

0

由於上市也許我誤解的事情,但如果我用mvn versions:display-dependency-updates它會產生這樣的輸出:

~/ws-git/test-project (two-module)$ mvn versions:display-dependency-updates 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Build Order: 
[INFO] 
[INFO] Project : Parent 
[INFO] Project : Mod-A 
[INFO] Project : Mod-B 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Project : Parent 0.1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- versions-maven-plugin:2.2:display-dependency-updates (default-cli) @ project-parent --- 
[INFO] The following dependencies in Dependency Management have newer versions: 
[INFO] com.beust:jcommander .................................... 1.35 -> 1.55 
[INFO] com.google.guava:guava ................................ 16.0.1 -> 19.0 
[INFO] junit:junit ............................................. 4.11 -> 4.12 
[INFO] log4j:log4j ............................. 1.2.16 -> 1.2.17-atlassian-1 
[INFO] org.apache.logging.log4j:log4j-api ...................... 2.1 -> 2.6.1 
[INFO] org.apache.logging.log4j:log4j-core ..................... 2.1 -> 2.6.1 
[INFO] org.mockito:mockito-core ........................ 1.9.5 -> 2.0.78-beta 
[INFO] org.testng:testng .................................... 6.8.8 -> 6.9.12 
[INFO] 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Project : Mod-A 0.1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- versions-maven-plugin:2.2:display-dependency-updates (default-cli) @ mod-a --- 
[INFO] The following dependencies in Dependency Management have newer versions: 
[INFO] com.beust:jcommander .................................... 1.35 -> 1.55 
[INFO] com.google.guava:guava ................................ 16.0.1 -> 19.0 
[INFO] junit:junit ............................................. 4.11 -> 4.12 
[INFO] log4j:log4j ............................. 1.2.16 -> 1.2.17-atlassian-1 
[INFO] org.apache.logging.log4j:log4j-api ...................... 2.1 -> 2.6.1 
[INFO] org.apache.logging.log4j:log4j-core ..................... 2.1 -> 2.6.1 
[INFO] org.mockito:mockito-core ........................ 1.9.5 -> 2.0.78-beta 
[INFO] org.testng:testng .................................... 6.8.8 -> 6.9.12 
[INFO] 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Project : Mod-B 0.1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- versions-maven-plugin:2.2:display-dependency-updates (default-cli) @ mod-b --- 
[INFO] The following dependencies in Dependency Management have newer versions: 
[INFO] com.beust:jcommander .................................... 1.35 -> 1.55 
[INFO] com.google.guava:guava ................................ 16.0.1 -> 19.0 
[INFO] junit:junit ............................................. 4.11 -> 4.12 
[INFO] log4j:log4j ............................. 1.2.16 -> 1.2.17-atlassian-1 
[INFO] org.apache.logging.log4j:log4j-api ...................... 2.1 -> 2.6.1 
[INFO] org.apache.logging.log4j:log4j-core ..................... 2.1 -> 2.6.1 
[INFO] org.mockito:mockito-core ........................ 1.9.5 -> 2.0.78-beta 
[INFO] org.testng:testng .................................... 6.8.8 -> 6.9.12 
[INFO] 
[INFO] No dependencies in Dependencies have newer versions. 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] Project : Parent ................................... SUCCESS [ 0.791 s] 
[INFO] Project : Mod-A .................................... SUCCESS [ 0.046 s] 
[INFO] Project : Mod-B .................................... SUCCESS [ 0.019 s] 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.671 s 
[INFO] Finished at: 2016-07-03T22:17:02+02:00 
[INFO] Final Memory: 20M/439M 
[INFO] ------------------------------------------------------------------------ 

,你可以看到像junit:junit從4.11到4.12等等。此外問題是版本是如何看起來像你的依賴關係等?

+1

在你的例子中,它提出了mockito-core版本2.0.78-beta。根據maven central的最新「發佈」版本是1.10.19;這就是我正在尋找的東西。到目前爲止,我必須檢查每個可用更新的包,並手動檢查最新的「發佈」級更新。 –

+0

In Central是2.0.78-beta是最新版本http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.mockito%22%20AND%20a%3A%22mockito-core% 22我不知道你在找哪個Maven Central? – khmarbaise

+1

其實,我在[mvnrepository.org](https://mvnrepository.com/artifact/org.mockito/mockito-core),它也有包裝類型(發佈/測試版/候選發佈版) –

相關問題