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

时间:2015-05-01 04:17:37

标签: java maven jar dependencies

我们的javadocs有一个自定义标记,需要tools.jar作为依赖项,但是maven硬编码了已发布的pom.xml中的jar位置。

对于maven中的依赖项,我们使用${java.home} parameter in our pom.xml,但是在构建项目之后,该tools.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 / project以使javadocs是独立的,或者让maven意识到它在运行时不会需要它?

1 个答案:

答案 0 :(得分:0)

Maven直接使用maven-javadoc-plugin支持自定义标记。

有关详细信息,请参阅the official Maven documentation。它是如此清晰地描述,在这里重复代码是没有意义的。这可以在<report>部分或<build>部分进行设置。在<build>部分中,您可能需要自定义将其绑定到相应的构建阶段。