[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/imac/projects/xxxx.java:[41,22] 程序包sun.tools.tree不存在
[INFO] 1 error
[INFO] -------------------------------------------------------------
maven项目在编译是提示程序包sun.tools.tree不存在,需要引入jdk下的tools.jar。网上大部分文章介绍的是以下方式:
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>D:/Program Files/Java/jdk1.8.0_271/lib/tools.jar</systemPath>
</dependency>
那如果有同事在macos开发呢?那就改成:
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/tools.jar</systemPath>
</dependency>
不过难免有时候手滑,把文件提交了,windows下开发的小伙伴要崩溃了,不说了,说多都是泪。那有没有一种通用的方式呢,当然有:
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
注意不是简单的${java.home}替换D:/Program Files/Java/jdk1.8.0_271,后面需要加上../