我已经配置了maven-site-plugin和maven-javadoc-plugin(使用doclava doclet),现在我正在尝试通过mvn site
命令在网站上生成正确的JavaDocs。在我的代码中,有几个JUnit测试类(位于src/test/java/my/package/*.java),它们的JavaDoc注释链接到源类(位于src/main/java/my/package/*.java)。问题是,在生成测试JavaDocs时,javadoc无法找到源类文档的位置。我尝试使用maven-javadoc-plugin的links
和offlineLinks
配置选项(在此处记录)告诉javadoc在哪里找到它,但没有成功。我希望javadoc生成相对链接,以便在离线查看生成的文档时能够正常工作(在浏览器中从/path/to/project/target/site/index.html浏览)。我不想禁用Test JavaDocs生成。
此外,我是Java和Maven的新手
为了澄清问题,这里有一个例子。我有一个测试类
GenerateATest
,位于src/test/java/name/earshinov/PrefixCircuits/GenerateATest.java(抱歉,注释是俄语)。package name.earshinov.PrefixCircuits;
// imports skipped
/**
* Тестирование алгоритма построения вспомогательных подсетей типа A,
* реализованного в классе {@link name.earshinov.util.PrefixCircuitGenerator},
* по отдельным случаям, описанным в оригинальной статье
*/
public class GenerateATest {
// ...
链接的类PrefixCircuitGenerator
位于src/main/java/name/earshinov/PrefixCircuits/PrefixCircuitGenerator.java中。运行mvn site
后,我可以在target/site/apidocs/index.html找到源代码类的JavaDocs,以及在target/site/testapidocs/index.html找到测试JavaDocs。在测试JavaDocs中的GenerateATest
文档中,我希望看到指向源代码类JavaDocs中PrefixCircuitGenerator
文档的链接。但是,javadoc找不到我所引用的PrefixCircuitGenerator
,因此它不会生成链接,并且相应的警告可在mvn site
输出中看到:
[WARNING] /home/eugene/dev/java/PrefixCircuits-maven/src/test/java/name/earshinov/PrefixCircuits/GenerateATest.java:9: warning 101: Unresolved link/see tag "name.earshinov.util.PrefixCircuitGenerator" in name.earshinov.PrefixCircuits.GenerateATest
我的目的是(某种方式)告诉javadoc如何生成链接。将{@link name.earshinov.PrefixCircuits.PrefixCircuitGenerator}
更改为{@link PrefixCircuitGenerator}
并没有改变任何内容。
mvn clean
后仍然收到相同的警告。关于我需要的链接,我会在主题中添加一个示例。 - Evgeny A.