Java:1.8+
idea:2021.1.2
今天对一个新项目打包时,又报了这个错误:程序包lombok不存在;可是idea相关的配置检查了下是没有问题的。
网上百度查了一会,发现网上的答案错的有点离谱,如下:

我的的情况是,idea配置没有问题,网上错误的解决的办法要你勾选 maven -> Runner -> Delegate IDE build/run actions to Maven,千万别这么做。这样会导致main都是走mvn,或者说:勾选后,idea的所有的行为都用mvn执行。这肯定不行。
我们要知道项目里引入lombok,就那么几步;
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>
</dependencies>
</dependencyManagement>
util module。<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
Enable annotation processing
正常情况,这么几个步骤是没有问题的。
但是,如果你要打包的module是项目众多模块中的一个,那么就需要注意了:单独打包的那个module,一定要确保,引入了lombok。拿我上面的例子说,我上面lombok具体引入是的util module,但是打包是facade module,虽然facade module 依赖 util module,但是因为我们是要对facade module单独打包,所以还需要在facade module中再次引入lombok依赖。这样问题就解决了。