VScode 安装插件后依然不能理解lombok注释的问题

在vscode中使用基于jdk11的maven模板时,有些会自动创建module-info.java文件,声明不同模板的依赖。如果这时引用了lombok注解但是没有申明对lombok的依赖,那么vscode可能会不能访问到lombok项目,从而不能理解lombok注释。
比如项目结构如下:

.
├── pom.xml
├── README.md
├── src
│   ├── main
│   │   ├── java
│   │   │   ├── com
│   │   │   │   └── zzp
│   │   │   │       └── project
│   │   │   │           └── Dept.java
│   │   │   └── module-info.java
│   │   └── resources
│   │       ├── com
│   │       │   └── zzp
│   │       │       └── mapper
│   │       │           └── DeptMapper.xml
│   │       └── SqlMapConfig.xml
│   └── test
└── target

其中src/main/java/com/zzp/project/Dept.java中使用了lombok注解:

package com.zzp.project;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Dept {
    private Integer deptno; // 部门编号
    private String dname; // 部门名称
    private String loc; // 部门地址
}

但是,如果src/main/java/module0info.java中没有添加对lombok的依赖:

module com.zzp.project {
    requires java.logging;
}

那么vscode会显示

The type lombok.AllArgsConstructor is not accessible

要解决这个问题,首先需要在项目的pom.xml添加projectlombok的依赖,安装Lombok Annotations Support for VS Code插件。然后在src/main/java/module0info.java中申明引用了lombok的模块的依赖:

module com.zzp.project {
    requires java.logging;
    requires lombok;
}

你可能感兴趣的:(vscode,java,lombok)