我们为javadocs提供了一个自定义标签,需要tools.jar
作为依赖项,但maven在发布的pom.xml中对jar位置进行了硬编码。
对于 maven 中的依赖关系,我们在 pom.xml 中使用 ${java.home} 参数,但在构建项目后.jar该工具的路径被硬编码为构建它时使用的任何 JDK:
cat ~/.m2/repository/.../client.pom
...
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.4.2</version>
<scope>system</scope>
<systemPath>/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/../lib/tools.jar</systemPath>
</dependency>
我考虑过将范围更改为test
但是我们不能使用 ${java.home}
参数。
有没有办法保留参数化路径,重新配置 pom/项目,以便 javadocs 是独立的,或者让 maven 意识到它在运行时不需要它?
Maven支持直接使用maven-javadoc-plugin
自定义标签。
有关更多信息,请参阅官方 Maven 文档。它描述得如此清晰,以至于在这里重复代码是没有意义的。这可以在<report>
部分或<build>
部分中设置。在<build>
部分中,您可能还需要将其自定义绑定到适当的构建阶段。