有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

生成maven文档时发生java错误

当我运行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 bug,根据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)

谢谢, 堂


共 (1) 个答案

  1. # 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      }