【问题标题】:Inherit javadoc, without generating docs for inherited source继承 javadoc,不为继承的源生成文档
【发布时间】:2011-06-22 18:27:20
【问题描述】:

我希望class B 从它实现的接口interface A 继承Javadoc。我已经在我的 Javadoc 命令中包含了interface A 的源代码,并且class B 正确地继承了文档。

现在我想知道是否可以让它生成的链接指向网络上的interface A 的文档,而不是在我的网站上复制它,即“指定者:”链接将链接到外部页面.

这可能吗?

【问题讨论】:

    标签: java ant documentation javadoc


    【解决方案1】:

    有可能,是的。 为了能够包含继承的文档,接口 A 的源必须可以在 javadoc 的源路径中找到,但不应在传递给 javadoc 以创建文档的包列表中。 对于链接,请使用 -link 参数。我刚试过这个(使用 ant javadoc 任务):

    <javadoc destdir="docs">
      <sourcepath>
        <!-- source of your class B -->
        <pathelement location="src" /> 
        <!-- source of external interface A -->
        <pathelement location="../example-src/src" />
      </sourcepath>
    
      <!-- your packages, to generate the docs for -->
      <package name="com.personal.myproject.*" />
    
      <!-- the location of the online documentation -->
      <link href="http://example.com/javadoc/"/>
    </javadoc>
    

    对于命令行 javadoc,我认为这样翻译(unix 语法,一行):

     javadoc -sourcepath ../example-src/src:src
             -d docs
             -link http://example.com/javadoc/
             -subpackages com.personal.myproject
             (other options...)
    

    在哪里

    • class B 在包中 com.personal.myproject
    • interface A 在包装内com.example
    • 我自己的来源在src
    • 接口 A 的来源位于 ../example-src/src

    在为此创建的示例类中,javadoc 会将文档从A.methodName() 复制到B.methodName(),但链接到http://example.com/javadoc/com/example/A.html#methodName() 的在线文档。

    感谢您提出这个问题,我一直想这样做:-)

    【讨论】:

    • 感谢您的回答,真的很有帮助。原来我在我的类路径中包含了一个相同类(“接口 A”)的 jar,这阻止了继承的文档出现。
    【解决方案2】:

    感谢Paŭlo Ebermann's answer 为我的设置指明了正确的方向。请先阅读该答案,因为这很有意义,而我只是提供了另一种配置解决方案的方法。


    所以我想我会与任何使用 maven 管理他们的项目并使用maven-javadoc-plugin 作为他们构建过程的一部分来生成他们的文档的人分享我所使用的东西。

    作为插件配置的一部分,您可以指定一组要包含的链接。 Here is the bit 专门介绍了配置链接。

    这里是一个示例,链接了 selenium 和 java se 的外部文档,用于打包到 jar 中以与我的项目一起部署。美妙之处在于,我项目中的这些 javadoc 只是无缝链接到外部的。

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
            <execution>
                <id>attach-javadocs</id>
                <goals>
                    <goal>jar</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <links>
                <link>http://seleniumhq.github.io/selenium/docs/api/java/</link>
                <link>https://docs.oracle.com/javase/${project.java.version}/docs/api/</link>
            </links>
        </configuration>
    </plugin>
    


    顺便说一句,如果您在此页面上发现任何有用的内容,请在某个地方链接到它。在谷歌上找到这个页面太难了,这是一件非常好的事情。

    【讨论】:

      猜你喜欢
      • 2012-09-02
      • 1970-01-01
      • 1970-01-01
      • 2012-03-27
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 2015-04-19
      • 1970-01-01
      相关资源
      最近更新 更多