我想把JDK tools.jar作为编译依赖项.我找到了一些示例,表明要使用systemPath属性,如下所示:
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
问题是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一样).有人有想法吗?
从我的搜索中,我在这里找到了支持信息: 适用于Mac OS X的Java开发指南
tools.jar不存在.通常位于此处的类包含在中classes.jar.依赖于存在的脚本tools.jar需要相应地重写.
如果重写是不可避免的,那怎么回事?
在Mac OS X 10.6计算机上通过MacPorts安装的Tomcat 6上部署时遇到此问题.