idea报错:不存在的方法 /java:找不到符号

377 阅读1分钟

在新版idea使用时,引入Lombok依赖后,一直报错找不到对应符号。

@Data
public class Test {
    private String username;
    private String password;
}

使用时报错:找不到setUsername,getUsername。

处理方法: 更新idea到>=3.2.2

本人版本idea版本3.2.1因此触发了这个bug;

参考链接 youtrack.jetbrains.com/issue/IDEA-…

当然如果你更新到3.2.2后还是触发了这个bug。 可以通过如下方案来临时解决这个问题: 方案1:

  1. 在idea的设置中,File -> Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors开启允许注解进程的运行。(enable annotation processing);

2.(可选) 顺带将生成的资源路径改为module content root image.png 方案2:

  1. 进入pom.xml文件,将Lombok相关的使用<version>${lombok.version}</version>替代。(包括 dependencies、dependanManager、maven-compiler-plugin
<project>
    
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
            <version>${lombok.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <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>${lombok.version}</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>${lombok.version}</version>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>