Visual Studio代码-Java-龙目岛-该类型的方法未定义

时间:2018-07-13 23:59:14

标签: java spring-mvc visual-studio-code lombok java-annotations

我下载了以下项目并将其导入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

enter image description here

我认为Visual Studio Code无法理解该软件包:lombok

关于如何使Visual Studio Code了解该软件包的任何想法?

谢谢!

3 个答案:

答案 0 :(得分:3)

好的,安装扩展名:Lombok Annotations Support for VS Code(gabrielbb.vscode-lombok)达到了目的。

答案 1 :(得分:1)

如果在安装此插件Lombok Annotations Support for VS Code之前加载了项目,则可以在vscode中运行此命令以重新加载项目。

Java: Clean the Java language server workspace

答案 2 :(得分:0)

正如@Suresh所说,我更新到了VS Code的最新版本,然后清除了工作区缓存(尝试运行该应用程序时,通过单击 Fix 按钮单击)。 我还安装了扩展名Lombok Annotations Support for VS Code