2010-07-28 62 views
1

當我運行mvn site我得到的錯誤:差錯的行家文檔

java.lang.NullPointerException 
     at org.codehaus.mojo.versions.ordering.MavenVersionComparator.innerGetSegmentCount(MavenVersionComparator.java:5 
1) 
     at org.codehaus.mojo.versions.ordering.AbstractVersionComparator.getSegmentCount(AbstractVersionComparator.java: 
27) 

這似乎是一個Maven的錯誤,而根據the JIRA ticket已在1.2版中得到解決。我假設這意味着特定插件的版本1.2(可能是網站插件)。

有誰知道這個修補程序是否已經發布,如果是這樣,我該如何強制Maven使用包含此修補程序的插件版本?

更新

如下建議,我加

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>versions-maven-plugin</artifactId> 
    <version>1.2</version>     
</plugin> 

到我的pom.xml。但是我現在碰到下面的錯誤,而不是:

java.lang.NullPointerException 
     at org.codehaus.mojo.versions.PluginUpdatesDetails.isDependencyUpdateAvailable(PluginUpdatesDetails.java:68) 
     at org.codehaus.mojo.versions.PluginUpdatesRenderer.renderSummaryTotalsTable(PluginUpdatesRenderer.java:132) 
     at org.codehaus.mojo.versions.PluginUpdatesRenderer.renderBody(PluginUpdatesRenderer.java:71) 

謝謝, 唐

+0

我在使用maven 3.0-beta-1時看到類似這樣的東西。嘗試使用舊版本來查看它是否消失。 – 2010-07-29 07:48:59

回答

1

這是Codehaus的Versions Maven Plugin

這裏有你需要的版本的配置:

<reporting> 
    <plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>versions-maven-plugin</artifactId> 
     <version>1.2</version> 
     <reportSets> 
     ... 
     </reportSets> 
    </plugin> 
    </plugins> 
</reporting> 

編輯:

對於新的錯誤,this source code line(68)表明,一個依賴是沒有版本引用。嘗試尋找沒有<version>的插件。

63  public boolean isDependencyUpdateAvailable() 
64  { 
65   for (Iterator i = dependencyVersions.values().iterator(); i.hasNext();) 
66   { 
67    ArtifactVersions versions = (ArtifactVersions) i.next(); 
68    if (versions.getAllUpdates(UpdateScope.ANY, includeSnapshots).length > 0) 
69    { 
70     return true; 
71    } 
72   } 
73   return false; 
74  }