Java 8 + Maven Javadoc插件:获取URL时出错

时间:2015-04-17 17:51:04

标签: java maven java-8 javadoc maven-javadoc-plugin

我正在尝试生成实际链接到我的依赖项的Javadoc的Javadoc。我已经尝试了各种方法来生成Javadoc,它不会为我的依赖项中的类的引用生成完全限定的类名。我想要使​​用简化的类名链接到Java doc。但是,即使使用Java API类名,我也没有链接并拥有完全限定的类名。我正在使用Java 8.我有以下配置:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.2</version>
            <configuration>
                <reportOutputDirectory>${project.basedir}/target</reportOutputDirectory>
                <destDir>javadoc</destDir>
                <windowtitle>Epiphany</windowtitle>
                <doctitle>Epiphany</doctitle>
                <show>private</show>
                <detectLinks>false</detectLinks>
                <detectOfflineLinks>true</detectOfflineLinks>
                <linksource>true</linksource>
                <detectJavaApiLink>false</detectJavaApiLink>
                <additionalparam>-Xdoclint:none</additionalparam>
                <links>
                    <link>http://docs.oracle.com/javase/8/docs/api</link>
                </links>

            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>javadoc</goal>
                        <goal>test-javadoc</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

我在maven编译器配置中将源设置为Java 8。我尝试使用detectJavaApiLink设置为true并省略了Java 8 Javadoc的链接,但Javadoc不生成Java API类的链接,并且我的Javadoc中对它们的所有引用都是完全限定的类名。

我尝试将detectJavaApiLink设置为false并使用上面的配置使用指定的网址(没有和没有尾部斜杠),我得到相同的结果,以及此错误:

[WARNING] javadoc: warning - Error fetching URL: http://docs.oracle.com/javase/8/docs/api

我已经尝试根据我声明的依赖项检测链接,我尝试将其设置为false然后提供指向Javadoc的链接,但我仍然没有链接,并且我的依赖项中的类的所有类名都是完全限定的。我到底做错了什么?包列表文件在指定的URL处可用,因此我不明白为什么Javadoc无法访问它们或位于那里的Javadoc。

更新:

将我的maven javadoc插件版本更改为2.10.3。现在,如果我将detectJavaApiLink设置为true并删除Java 8 javadoc的链接,则生成的javadoc会正确链接到Java API类并使用简化名称。

但是,我仍然遇到第三方依赖项问题并链接到他们的Javadoc。如果我将detectLinks设置为true,则无法为其中任何一个找到javadoc。如果我将其设置为false并手动配置位置,我仍会收到一条错误消息,指出无法获取该网址:

[WARNING] javadoc: warning - Error fetching URL: https://selenium.googlecode.com/git/docs/api/java

我更新了maven javadoc插件的pom配置如下:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.10.3</version>
        <configuration>
            <reportOutputDirectory>${project.basedir}/target</reportOutputDirectory>
            <destDir>javadoc</destDir>
            <windowtitle>Epiphany</windowtitle>
            <doctitle>Epiphany</doctitle>
            <show>private</show>
            <detectLinks>false</detectLinks>
            <detectOfflineLinks>true</detectOfflineLinks>
            <linksource>true</linksource>
            <additionalparam>-Xdoclint:none</additionalparam>
            <detectJavaApiLink>true</detectJavaApiLink>
            <links>
                <link>https://selenium.googlecode.com/git/docs/api/java</link>
            </links>
        </configuration>
        <executions>
            <execution>
                <goals>
                    <goal>javadoc</goal>
                    <goal>test-javadoc</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

更新2:

向MJAVADOC提交的缺陷报告:

https://issues.apache.org/jira/browse/MJAVADOC-427

0 个答案:

没有答案