在 maven 工具上保留参数化路径.jar依赖项



我们为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>部分中,您可能还需要将其自定义绑定到适当的构建阶段。

最新更新