简体   繁体   English

Lombok 不适用于 spring-boot-maven

[英]Lombok doesn't work with spring-boot-maven

I have i project with spring-boot i used spring 2.0.5.RELEASE version.我使用 spring-boot 进行项目,我使用的是 spring 2.0.5.RELEASE 版本。 And i want to use the Lombok when i simplify my work for the getter and setter and the controctor with and without fields this is the file of my pom.xml当我为 getter 和 setter 以及带和不带字段的控制器简化我的工作时,我想使用 Lombok 这是我的 pom.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
    http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>hr.access</groupId>
<artifactId>ms-EtudiantS-Formation</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>ms-EtudiantS-Formation</name>
<description>Demo project for Spring Boot</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.5.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF- 
     8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
</project>

And in the view of Outline I don't see the getters and setters when I select the window of my class This is the sourcecode of my Etudiant class:在 Outline 的视图中,当我选择我的类的窗口时,我看不到 getter 和 setter 这是我的 Etudiant 类的源代码:

package hr.access.entities;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

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

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Etudiant {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(length = 80)
private String nom;
@Column(length = 80)
private String prenom;
@Temporal(TemporalType.DATE)
private Date dateNaissance;

} }

What is my mistake in this code what do you write and add to my code because my class is correctly?我在这段代码中的错误是什么,因为我的类是正确的,你写了什么并添加到我的代码中?

if your problem is that you don't see the getters and setters that's not a problem as lombok provide it in compile time in Etudiant.class file but you must use lombok plugin in your IDE如果您的问题是您没有看到 getter 和 setter,这不是问题,因为Etudiant.class在编译时在Etudiant.class文件中提供它,但您必须在 IDE 中使用 lombok 插件

setup guide https://projectlombok.org/setup/overview设置指南https://projectlombok.org/setup/overview

This should work, try it;这应该有效,试试吧;

  1. The project has lombok dependency.该项目具有lombok依赖项。 First look into your .m2 repository and if not ,find the lombok jar!首先查看您的.m2存储库,如果没有,请找到 lombok jar!
  2. Double click on jar, specify the path for IDE like C:\\Users\\ide\\install\\package\\yourIDE.exe双击jar,指定IDE的路径如C:\\Users\\ide\\install\\package\\yourIDE.exe
  3. Restart the IDE and update the maven project.重启IDE并更新maven项目。

LomBok has a jar inside m2 folder (mvn cache folder) eg: C:\\Users\\Mypc \\ .m2 \\repository\\org\\projectlombok\\lombok\\1.18.12 based on the mvn package that has to be executed it will search for ide LomBok 在 m2 文件夹(mvn 缓存文件夹)中有一个 jar,例如:C:\\Users\\Mypc\\.m2\\repository\\org\\projectlombok\\lombok\\1.18.12 基于必须执行的 mvn 包,它将搜索 ide

在此处输入图片说明

and then you need to restart your ide then if you search within the class you can see getter and setters然后你需要重新启动你的ide然后如果你在类中搜索你可以看到getter和setter

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM