如何使用maven javadoc插件正确地链接到模块化的依赖关系?

rhfm7lfc  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(302)

在我的 project ,我试图在 javadoc 工具。跑步:

mvn clean install

生成没有指向外部库的链接的文档。
我的配置:

project
|-- pom.xml
`-- src
    `-- main
        `-- java
            |-- foo.bar.project
            |   `-- foo
            |       `-- bar
            |           `-- project
            |               `-- Foo.java
            `-- module-info.java
``` `Foo.java` :

package foo.bar.project;

import com.github.glusk.caesar.Bytes;

public class Foo {
public static Bytes bytes;
}
``` module-info.java :

module foo.bar.project {
    requires com.github.glusk.caesar;
}
``` `pom.xml` :


4.0.0

foo.bar
project
1.0-SNAPSHOT

q3aa0525

q3aa05251#

我猜你用的是 @link javadoc中的引用。
比如:

/**
  * have a look here: {@link ImmutableMessageDigest}
  * @see <a href="https://github.com/Glusk/caesar">Glusk Caesar</a>
  */
 public void bar(){
   // your code
 }

为了使{@link immutablemessagedigest}转换为生成的javadoc中的实际html链接,需要添加对实际外部javadoc的引用。
这可以通过配置 linkmaven-javadoc-plugin .
在你的情况下,这将是 <link>https://javadoc.io/doc/com.github.glusk/caesar/0.4.0</link> 包括 Indirect Exports 在module-summary.html中,需要添加(附加)选项 --show-module-contents all 导致:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-javadoc-plugin</artifactId>
       <version>3.2.0</version>
       <configuration>
          <sourcepath>${project.build.sourceDirectory}</sourcepath>
          <!-- include this part -->
          <links>
             <link>https://javadoc.io/doc/com.github.glusk/caesar/0.4.0</link>
          </links>
          <additionalOptions>
             <option>--show-module-contents all</option>
          </additionalOptions>
       </configuration>
       <executions>
         <execution>
            <id>attach-javadocs</id>
            <goals>
               <goal>jar</goal>
            </goals>
         </execution>
      </executions>
   </plugin>

相关问题