Visual Studio Code - Java - Lombok - 该方法未针对该类型定义
Posted
技术标签:
【中文标题】Visual Studio Code - Java - Lombok - 该方法未针对该类型定义【英文标题】:Visual Studio Code - Java - Lombok - The method is undefined for the type 【发布时间】:2018-12-22 08:45:33 【问题描述】:我下载了以下项目并导入到Visual Studio Code
:
https://github.com/oktadeveloper/okta-spring-boot-2-angular-5-example
我在调用以下类时遇到问题:car.getName()
。
https://github.com/oktadeveloper/okta-spring-boot-2-angular-5-example/blob/d5c959162ed0f862a5dceb93f5957f92e052e062/server/src/main/java/com/okta/developer/demo/CoolCarController.java
内容是:
CoolCarController.java
package com.okta.developer.demo;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Collection;
import java.util.stream.Collectors;
@RestController
class CoolCarController
private CarRepository repository;
public CoolCarController(CarRepository repository)
this.repository = repository;
@GetMapping("/cool-cars")
@CrossOrigin(origins = "http://localhost:4200")
public Collection<Car> coolCars()
return repository.findAll().stream()
.filter(this::isCool)
.collect(Collectors.toList());
private boolean isCool(Car car)
return !car.getName().equals("AMC Gremlin") &&
!car.getName().equals("Triumph Stag") &&
!car.getName().equals("Ford Pinto") &&
!car.getName().equals("Yugo GV");
这里也是内容:
Car.java
package com.okta.developer.demo;
import lombok.*;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.Entity;
@Entity
@Getter @Setter
@NoArgsConstructor
@ToString @EqualsAndHashCode
public class Car
@Id @GeneratedValue
private Long id;
private @NonNull String name;
如下图所示,我收到了错误:
[Java] The method getName() is undefined for the type Car
我认为Visual Studio Code
看不懂包:lombok
。
知道如何让Visual Studio Code
理解该软件包吗?
谢谢!
【问题讨论】:
【参考方案1】:好的,安装扩展程序:Lombok Annotations Support for VS Code
(gabrielbb.vscode-lombok) 成功了。
【讨论】:
它对我不起作用。我安装了扩展,它整理了编辑器的 Intellisense,但没有整理出编译本身。我在尝试从 VSCode 中运行代码时收到 “构建失败,您要继续吗?” 错误消息。如果我选择“Proceed”,最终会出现错误未解决的编译问题。多个构造函数和方法未定义。 我遇到了与@dbaltor 相同的问题。我将 VS Code 更新到最新版本,并且 lombok 问题消失了。编译正常,没有任何问题。 正如@Suresh 所说,我更新到VS Code 的最新版本,然后清除工作区缓存(通过在尝试运行应用程序时单击修复按钮)就成功了。我还安装了扩展 Lombok Annotations Support for VS Code。【参考方案2】:如果你的项目在安装这个插件Lombok Annotations Support for VS Code
之前就已经加载好了,你可以在vscode中运行这个命令来重新加载项目。
按Command + shift + P
并执行:
Java: Clean Java language server workspace
【讨论】:
这应该在 VSCode 扩展的安装说明中说明。以上是关于Visual Studio Code - Java - Lombok - 该方法未针对该类型定义的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code - Java - 导入错误等
Java on Visual Studio Code的更新 – 2021年4月
在 Visual Studio Code 中美化/格式化 Java 代码
使用Visual Studio Code开发和调试Java Burp扩展