【问题标题】:Keep a parameterized path on maven tools.jar dependency在 maven tools.jar 依赖项上保留参数化路径
【发布时间】: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


【解决方案1】:

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

更多信息,请参阅the official Maven documentation。描述得太清楚了,在这里重复代码是没有意义的。这可以在&lt;report&gt; 部分或&lt;build&gt; 部分中设置。在 &lt;build&gt; 部分中,您可能还需要自定义将其绑定到适当的构建阶段。

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2012-12-04
    • 2011-03-03
    • 2021-11-06
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多