如何从 Maven 多模块项目中的 Javadoc 生成中排除单个模块?
How to exclude a single module from Javadoc generation in a Maven multi module project?
我有一个这样的 Maven 多模块项目:
foo-parent
foo-module
foo-module-new
foo-other-module1
foo-other-module2
pom.xml
并且在 foo-parent 中调用 mvn javadoc:aggregate
时,我想从 Javadoc 生成中排除模块 foo-module。
使用参数 excludePackageNames
按包名称排除在我的情况下不起作用,因为 foo-module 和 foo-module-new 具有相同的包名称。
使用 maven 配置文件。
添加你的 pom :
<profiles>
<profile>
<id>javadoc</id>
<modules>
<module>module_include_javadoc1</module>
<module>module_include_javadoc2</module>
</modules>
</profile>
</profiles>
运行这个:
mvn javadoc:aggregate -Pjavadoc
启动以下命令仅为 foo-other-module1
和 foo-other-module2
模块生成 javadoc(注意:始终包含聚合器模块,在本例中为 foo-parent
):
mvn javadoc:aggregate -pl :foo-parent,:foo-other-module1,:foo-other-module2
从 Maven 3.2.1 开始,您还可以从反应器中排除模块,因此以上简化为
mvn javadoc:aggregate -pl '!foo-module'
我有一个这样的 Maven 多模块项目:
foo-parent
foo-module
foo-module-new
foo-other-module1
foo-other-module2
pom.xml
并且在 foo-parent 中调用 mvn javadoc:aggregate
时,我想从 Javadoc 生成中排除模块 foo-module。
使用参数 excludePackageNames
按包名称排除在我的情况下不起作用,因为 foo-module 和 foo-module-new 具有相同的包名称。
使用 maven 配置文件。
添加你的 pom :
<profiles> <profile> <id>javadoc</id> <modules> <module>module_include_javadoc1</module> <module>module_include_javadoc2</module> </modules> </profile> </profiles>
运行这个:
mvn javadoc:aggregate -Pjavadoc
启动以下命令仅为 foo-other-module1
和 foo-other-module2
模块生成 javadoc(注意:始终包含聚合器模块,在本例中为 foo-parent
):
mvn javadoc:aggregate -pl :foo-parent,:foo-other-module1,:foo-other-module2
从 Maven 3.2.1 开始,您还可以从反应器中排除模块,因此以上简化为
mvn javadoc:aggregate -pl '!foo-module'