1、先直接上解决方法:在项目的pom.xml 中增加以下maven依赖配置,再编译就成功啦。
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.7</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
2、再谈谈解决该问题的经过:
网上查了很多资料,有说引用的这些包是sun 的私有类,或者这些类都是过时的类,建议换个方法实现,但发现报错的地方挺多的,工作量比较大,不太可行。
继续寻找其他方法 ……
问了周边几个同事,他们的工程编译没啥问题,用了jdk 1.7.76/1.7.98,都不行,于是排除了是jdk的原因。
是不是缺包呢?
然后查看了一下工程的java build path 里的libraries 下面maven depends 的jar包是不是缺少了,果然发现缺少jdk.tools-1.7.jar,
再看看 JAR System Library 里也果然没有应用tools.jar
所以问题就解决了,到底是缺少tools.jar包。