当我运行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 :(得分: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 }