关于idea2017.3.4与lombok@Data注解的坑

 这两天使用最新版的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>


猜你喜欢

转载自blog.csdn.net/frozenkevin/article/details/79280417