【发布时间】:2023-03-10 15:33:01
【问题描述】:
我想把 JDK tools.jar 作为编译依赖。我发现一些示例表明使用 systemPath 属性,如下所示:
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
问题在于路径对于 Mac Os X 不正确(但对于 Windows 和 Linux 是正确的)。对于它,正确的路径是 ${java.home}/../Classes/classes.jar。
我正在寻找一种方法来定义一个 maven 属性,这样如果系统被检测为 Mac Os X,则值设置为 ${java.home}/../Classes/classes.jar,否则将其设置为 ${java.home}/../lib/tools.jar(就像使用 ANT 一样)。有人有想法吗?
【问题讨论】:
-
@user7610 这不是重复的,这个问题解决了 Java 9 之前的情况。您建议的副本处理 Java 9 后的情况。