Maven 2 在Maven站点生成的html中向JavaDoc添加动态链接

Maven 2 在Maven站点生成的html中向JavaDoc添加动态链接,maven-2,javadoc,maven-plugin,dynamic-links,Maven 2,Javadoc,Maven Plugin,Dynamic Links,我想知道是否有办法通过maven站点插件让它在生成的html中自动创建指向某个JavaDoc结构(如类)的链接 作为我的意思的一个例子,Doxygen提供了一种通过使用doxy协议来实现这一点的方法。您可以创建一个锚,如下所示: <a href="doxy://class/ExampleClass">ExampleClass</a> 然后,当您运行Doxygen时,它会将doxy://引用替换为对包含ExampleClass文档的适当html文件的引用。这样,如果这

我想知道是否有办法通过maven站点插件让它在生成的html中自动创建指向某个JavaDoc结构(如类)的链接

作为我的意思的一个例子,Doxygen提供了一种通过使用doxy协议来实现这一点的方法。您可以创建一个锚,如下所示:

<a href="doxy://class/ExampleClass">ExampleClass</a>

然后,当您运行Doxygen时,它会将doxy://引用替换为对包含ExampleClass文档的适当html文件的引用。这样,如果这个类的位置或它的文档曾经发生过更改,我就不需要记得返回并修复链接,因为Doxygen将在下一次构建时自动更改它

Maven站点在导航栏中生成并提供指向JavaDoc索引的链接,JavaDoc中有指向实际源代码的链接,但我希望将文档中对类的任何引用都转换为指向该类的JavaDoc的链接,而不必担心在将来的版本中,如果情况发生变化,它会保持最新

这可能吗?还是我被硬编码的链接卡住了


提前谢谢

据我所知,Maven使用的内容生成框架和任何。所以我想你必须“硬编码”你的链接

如果使用APT,请注意Doxia-1.1(由Maven>=2.1.x使用)对原始APT格式进行了一些增强。关于:

在Doxia-1.1中,“本地”的概念 除此之外,还引入了链接 内部链接和外部链接。[……]

  • 本地链接是指向同一站点内另一文档的链接。 本地链接必须从 或者
    /
    或者
    。/
    来区分 它们来自内部链接。例如

    {{{./apidocs/com/company/example/ExampleClass.html}ExampleClass}}
    

话虽如此,一个解决方案可能是使用Doxia中包含的。但是,您必须为此功能编写自己的宏。不过,这应该不会太难,请检查源代码存储库。

我甚至不知道如何与doxy一起工作。如果
ExampleClass
存在于多个包中,该怎么办。你怎么能不使用绝对路径就引用它呢?啊,我应该指定的。我们通常使用doxGEN作为C++。我相信它可以通过执行以下操作来使用Javadoxy://class/com.company.example.ExampleClass. 我们以前的项目使用了doxGEN,几乎完全是C++,有几个java文件。我们的新版本完全是Java,我希望使用Maven站点来复制功能,以及使用它的所有内置报告等等。谢谢!我创建了一个宏,就像上面建议的那样,它接受一个类并将其转换为指向其JavaDoc的链接。一、 但是,现在可以看到,由于必须在类上包含完整的包信息,如您上面提到的,这意味着如果类位置发生更改,我仍然必须更改宏中对该类的每个引用,因为它的包将发生更改。因此,我认为,除非我能找到一个不变的java唯一标识符,否则让宏生成动态链接的唯一好处是,如果每个链接的整体格式都发生了变化,那么我可以只更改宏。是的,这就是我最初的问题。我可以看到宏的优点是,只需编写一次类的完全限定名(在宏中)。但事实上,如果它发生变化,您仍然需要更新它。