idea中springboot项目无法使用lombok

问题:可以正常引用,而且也有提示,但是就是没有效果出来,只是在项目的运行时,使用到lombok功能的位置会报错。

报错信息:

java: 找不到符号
  符号:   方法 getUserName()
  位置: 类型为com.cxj.entity.pojo.User的变量 user

java: 找不到符号
  符号:   变量 log
  位置: 类 com.cxj.SpringsecurityApplicationTests

 

问题解决 :

这是我们之前导入lombok依赖的代码

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

  我们只需移除optional 属性,然后加上lombok的版本即可

optional当设置为true时,表示该依赖是可选的。这意味着,如果其他项目依赖于包含此依赖的项目,这个依赖不会自动传递给其他项目。因此,optional 属性是否移除,看自己需求;但是版本号一定要指定。

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.36</version>
<!--        <optional>true</optional>-->
        </dependency>
 <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.18.36</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.18.36</version>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

 在annotationProcessorPaths中添加了lombok的路径,目的是让 Maven 在编译时能够处理 Lombok 的注解。

excludes中排除了lombok,这可能是因为在 Spring Boot 项目的打包过程中,不需要将 Lombok 的相关内容包含进去,因为 Lombok 的功能主要是在编译阶段起作用,运行时并不需要 Lombok 的库。

 在上面三个位置加上lombok版本号,重新加载maven,等依赖加载完成后。

启动项目,lombok就可以正常使用了。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值