今天使用IDEA新导入了一个Maven工程,使用到了Lombok插件。插件顺利安装,Maven编译、打包也正常。
可是就在手动Run一个测试的类时候提示找不到get/set方法,异常信息:Error:(48, 26) java: The method setXX(java.lang.String) is undefined for the type com.XX。在处理过中还遇到了找不到System Java Compiler的问题。
网上一位网友解释了其中的原因,原文http://blog.csdn.net/u013177446/article/details/53943365:
IDEA 有一个选项配置Java Compiler,这里我的设置选择了eclipse,elipse的编译方式不直接支持lombok
应该选择javac,因为javac是支持lombok的编译方式
而maven是使用的javac编译器,因此运行mvn命令不会出错
照此进行设置,步骤如下:
再次进行测试提示找不到JavaC了,很其怪了,系统环境明明有Java1.6的,为啥编译不过呢。
Error:java: System Java Compiler was not found in classpath:
java.lang.ClassNotFoundException: com.sun.tools.javac.api.JavacTool
又去了网上百度了一下,都说把上边的编译器javac改成eclipse,这肯定不行,改回去lombok又不行了。仔细检查了一下javac配置项,把其中的一项目去掉就可以了。
不是很清楚他说的module target JDK是在哪儿配置,我项目配置的是JDK是指向系统环境的JDK的,有知道的网友可以赐教一下。
后来又把javac改成eclipse,也可以,只要把javac的那个项配置去掉就可以,IDEA应该有问题吧。