跳过javadocs中的依赖关系 - 由于存储库URL无效,Maven javadoc卡住了

ant*_*nie 9 reporting javadoc maven

我的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>
Run Code Online (Sandbox Code Playgroud)

在报告部分.一切似乎都没问题,但在某些时候它会尝试生成依赖项报告,并且它会永远陷入困境,因为它无法访问存储库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.
Run Code Online (Sandbox Code Playgroud)

在那之后,它一直在等待,因为我没有构建.所以我的问题是如何告诉javadoc排除这一步而不尝试生成依赖项报告?

Tho*_*lor 14

http://www.java-tutorial.ch/maven/maven-site-build-slow-due-to-dependency-report-plugin非常好地描述了如何从命令行关闭依赖项位置检查或在您的POM文件中.

总结一下:

  1. 命令行:

    mvn -Ddependency.locations.enabled=false site
    
    Run Code Online (Sandbox Code Playgroud)
  2. POM:

    <plugin>
      <artifactId>maven-project-info-reports-plugin</artifactId>
      <configuration>
         <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
      </configuration>
    </plugin>
    
    Run Code Online (Sandbox Code Playgroud)


ant*_*nie 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>
Run Code Online (Sandbox Code Playgroud)

这意味着,我告诉网站插件不要在网站中创建与我的依赖项相关的任何内容.您可以从网站中的原始报告列表中看到,我只将我想要的报告列入其中.但是如果你使用maven-project-info-reports-plugin寻找站点生成,很多人也会遇到这样的问题:构建需要花费太多时间以及如何解决它.我希望这有助于下一个受害者.