这两天使用最新版的idea2017.3.4的时候出现一些令人头痛的问题。在此列举出来,引以为戒。
1.使用javac编译工作报错:javacTask:源发行版1.7 需要目标发行版1.7,Error:java: Compilation failed: internal java compiler error
首先这个问题肯定与jdk环境有关系,一开始的时候没有在意这点,直接在java compile-use compiler设置为eclipse,问题暂时解决。
后来的项目中使用了lombok插件,实体类用到了@Data注解,这时候问题就来了,
2.用tomcat启动项目的时候报错:the method getXxx() is undefined for the type com.za.domain.Anyone
然后就各种找原因、查资料,尝试了很多办法都不行,偶然找到了问题根本原因所在:orancle javac编译工具可以直接支持lombok的@Data注解,但是eclipse的编译工具是eclipse自己的,
叫做eclipse java compiler<ejc>,而ejc是不会直接支持@Data注解的。那怎么办呢?直接换成javac就会报第一个错误,索性顺水推舟先把第一个问题解决了!
查阅资料之后发现,第一个问题的解决办法是:setting->Compiler->Java Compiler 设置相应Module的target byte code version的合适版本就行来。
尝试之后完美解决~哈哈。
最后再说一个在解决上述两个问题过程中遇到的一个小问题。
3. Maven项目中提示"cannot be resolved to a type"
解决办法:jdk不匹配(或不存在) ,通常情况是项目所指定的jdk版本与IDE使用的jdk不一致,这样的问题得仔细看,因为版本有一点差别就会报这样的错误。
因为:附上idea原生警告<Module ‘com.mall.service.XXX’ is imported from Maven.Any changes made in its configuration may be lost after reimporting>