在java类中添加了lombok注解@Data,项目在构建时提示:

java: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.
  Your processor is: com.sun.proxy.$Proxy8
  Lombok supports: sun/apple javac 1.6, ECJ

java: 找不到符号
  符号: 方法 setTimestamp(long)

意思是lombok未能正确工作,不能生成getter和setter方法,可是maven中已引入lombok的依赖。

经过分析,也上网查找了资料,原来是项目父pom,xml中使用的lombok版本和子模块pom.xml所使用的lombok版本不一致,具体如下:

父pom.xml中关于lombok的声明:

 <lombok.version>1.18.24</lombok.version>

子模块中lombok的所引用的是:

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>1.18.4</version>
</dependency>

正是两者不一一致导致lombok不能正确工作。解决的办法是,子模块中lombok直接使用父pom.xml中声明的lombok的版本:

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>${lombok.version}</version>
	<scope>provided</scope>
</dependency>

修改后,刷新Maven,再次启动,终于不报上面的错误了。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐