问题描述
我有一个带有两个 jpms 模块的示例 project。这是一个带有一个父模块和两个子模块的 Maven 项目。
父 pom:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<input type="text" id="name" name="nomclient" class="bg-white text-dark" />
API 模块 pom:
...
<modules>
<module>foo.api</module>
<module>foo.impl</module>
</modules>
...
API 模块信息:
...
<groupId>com.foo</groupId>
<artifactId>foo.api</artifactId>
...
这些是我对 maven-javadoc-plugin 的设置(在父 pom 中):
module com.foo.api {
requires org.slf4j;
exports com.foo.api;
}
当我运行 <reporting>
<excludeDefaults>true</excludeDefaults>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.0</version>
<reportSets>
<reportSet>
<reports>
<report>javadoc-no-fork</report>
<report>test-javadoc-no-fork</report>
</reports>
</reportSet>
</reportSets>
<configuration>
<doclint>none</doclint>
<dependencySourceIncludes>
<dependencySourceInclude>com.foo:${project.artifactId}</dependencySourceInclude>
</dependencySourceIncludes>
<doctitle>Title - ${project.version}</doctitle>
<includeDependencySources>false</includeDependencySources>
<windowtitle>Title</windowtitle>
<additionalJOptions>
<additionalJOption>--no-module-directories</additionalJOption>
</additionalJOptions>
</configuration>
</plugin>
</plugins>
</reporting>
时,我得到:
mvn javadoc:javadoc
谁能告诉我如何解决它?
解决方法
我找到了解决方案。在模块的情况下,javadoc 需要一个编译模块描述符,所以有必要做 mvn compile javadoc:javadoc
而不是 mvn javadoc:javadoc