My Maven POM使用
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9</version>
<configuration>
<show>public</show>
<failOnError>false</failOnError>
</configuration>
</plugin>
在报告部分。一切似乎都没问题,但在某些时候它会尝试生成依赖项报告,并且它会永远陷入困境,因为它无法访问存储库URL(即不能启动)。得到此错误:
[INFO] Generating "Dependencies" report --- maven-project-info-reports-plugin:2.5.1
[WARNING] The repository url 'file://${basedir}/stage' is invalid - Repository 'local-mime4j-stage-repository' will be blacklisted.
[WARNING] The repository url 'http://antlr.org/antlr-snapshot' is invalid - Repository 'antlr-snapshot' will be blacklisted.
之后,它会一直等待,导致我没有构建。所以我的问题是如何告诉javadoc排除这一步而不尝试生成依赖报告?
答案 0 :(得分:14)
http://www.java-tutorial.ch/maven/maven-site-build-slow-due-to-dependency-report-plugin非常好地描述了如何从命令行或POM文件中关闭依赖项位置检查。
总结:
命令行:
mvn -Ddependency.locations.enabled=false site
POM:
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<configuration>
<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
</configuration>
</plugin>
答案 1 :(得分:5)
实际上这个问题与maven-javadoc-plugin无关,但在阅读日志时似乎是这样。在运行站点生命周期时,它是默认目标。即使我删除了所有插件,我在运行$ mvn网站时也会遇到此问题。
这是因为网站生成试图获取有关我的项目依赖项的信息。似乎避免这种情况的最佳方法可能是通过将某些属性设置为false来禁用此信息的检索(因为某些存储库URL无效)...但是这样的事情对我来说真的很有效。只有以下工作:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.6</version>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>help</report>
<report>project-team</report>
<report>modules</report>
<report>plugins</report>
<report>cim</report>
<report>issue-tracking</report>
<report>scm</report>
<report>license</report>
<report>plugin-management</report>
<report>distribution-management</report>
<report>summary</report>
<report>mailing-list</report>
<report>issue-tracking</report>
<!--
<report>dependencies</report>
-->
</reports>
</reportSet>
</reportSets>
</plugin>
这意味着,我告诉网站插件不要在网站中创建与我的依赖项相关的任何内容。您可以从网站中的原始报告列表中看到,我只将我想要的报告列入其中。但是如果你使用maven-project-info-reports-plugin寻找网站生成,很多人也会遇到这样的问题:构建需要花费太多时间以及如何解决它。我希望这有助于下一个受害者。