【发布时间】:2015-05-01 04:17:36
【问题描述】:
我们的 javadocs 有一个自定义 taglet,它需要 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 意识到它在运行时不需要它?
【问题讨论】:
-
你不应该关心这条路。因为它是系统依赖,所以它不是传递的,依赖于你的项目的项目不会继承它。
标签: java maven jar dependencies