环境

Java:1.8+
idea:2021.1.2

前言

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

在这里插入图片描述

我的的情况是,idea配置没有问题,网上错误的解决的办法要你勾选 maven -> Runner -> Delegate IDE build/run actions to Maven,千万别这么做。这样会导致main都是走mvn,或者说:勾选后,idea的所有的行为都用mvn执行。这肯定不行。

解决办法

我们要知道项目里引入lombok,就那么几步;

  1. 项目root中pom.xml引入lombok插件;
<dependencyManagement>
    <dependencies>
		<dependency>
		    <groupId>org.projectlombok</groupId>
		    <artifactId>lombok</artifactId>
		    <version>1.18.4</version>
		</dependency>
    </dependencies>
</dependencyManagement>
  1. 接着到具体module中再引入,比如util module
<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
</dependencies>
  1. idea 勾选 Enable annotation processing

在这里插入图片描述

正常情况,这么几个步骤是没有问题的。

但是,如果你要打包的module是项目众多模块中的一个,那么就需要注意了:单独打包的那个module,一定要确保,引入了lombok。拿我上面的例子说,我上面lombok具体引入是的util module,但是打包是facade module,虽然facade module 依赖 util module,但是因为我们是要对facade module单独打包,所以还需要在facade module中再次引入lombok依赖。这样问题就解决了。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐