我希望class B
从它实现的接口interface A
继承Javadoc。我在Javadoc命令中包含了interface A
的源代码,class B
正确地继承了文档。
现在我想知道我是否可以让它生成的链接指向网站上的interface A
文档,而不是在我的网站上复制它,即“指定者:”链接将链接到外页。
这可能吗?
答案 0 :(得分:3)
有可能,是的。
为了能够包含继承的文档,接口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
,../example-src/src
。在为此创建的示例类中,javadoc会将文档从A.methodName()
复制到B.methodName()
,但会链接到http://example.com/javadoc/com/example/A.html#methodName()
的在线文档。
感谢您提出这个问题,我一直想这样做: - )
答案 1 :(得分:0)
向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>
<小时/> 顺便说一句,如果您发现此页面上的任何内容有用,请在某处链接到它。在谷歌上找到这个页面太难了,这是一个非常好的事情。