Java 龙目巨人在日食或STS中与龙目巨人不同

Java 龙目巨人在日食或STS中与龙目巨人不同,java,eclipse,lombok,Java,Eclipse,Lombok,我在Maven编译和Eclipse编译之间有一个增量。Maven可以,但Eclipse不行 在compilebyeclipse中,它丢失了构造函数上的@ConstructorProperties({“id”,“profile”})注释,该构造函数同时具有这两个参数 我的java文件: @Data @AllArgsConstructor public class Author { private String id; private String profile; } impor

我在Maven编译和Eclipse编译之间有一个增量。Maven可以,但Eclipse不行

在compilebyeclipse中,它丢失了构造函数上的
@ConstructorProperties({“id”,“profile”})
注释,该构造函数同时具有这两个参数

我的java文件:

@Data
@AllArgsConstructor
public class Author {
    private String id;
    private String profile;
}
import java.beans.ConstructorProperties;

public class Author {
    private String id;
    private String profile;

    public void setId(String id) {
        this.id = id;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }

    @Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof Author)) {
            return false;
        }
        final Author other = (Author) o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
            return false;
        }
        final Object this$profile = getProfile();
        final Object other$profile = other.getProfile();
        return this$profile == null ? other$profile == null : this$profile.equals(other$profile);
    }

    protected boolean canEqual(Object other) {
        return other instanceof Author;
    }

    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        final Object $profile = getProfile();
        result = result * 59 + ($profile == null ? 43 : $profile.hashCode());
        return result;
    }

    @Override
    public String toString() {
        return "Author(id=" + getId() + ", profile=" + getProfile() + ")";
    }

    @ConstructorProperties({ "id", "profile" })
    public Author(String id, String profile) {
        this.id = id;
        this.profile = profile;
    }

    public String getId() {
        return id;
    }

    public String getProfile() {
        return profile;
    }
}
public class Author {
    private String id;
    private String profile;

    public String getId() {
        return id;
    }

    public String getProfile() {
        return profile;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }

    @Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof Author)) {
            return false;
        }
        final Author other = (Author) o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
            return false;
        }
        final Object this$profile = getProfile();
        final Object other$profile = other.getProfile();
        return this$profile == null ? other$profile == null : this$profile.equals(other$profile);
    }

    protected boolean canEqual(Object other) {
        return other instanceof Author;
    }

    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        final Object $profile = getProfile();
        result = result * 59 + ($profile == null ? 43 : $profile.hashCode());
        return result;
    }

    @Override
    public String toString() {
        return "Author(id=" + getId() + ", profile=" + getProfile() + ")";
    }

    public Author(String id, String profile) {
        this.id = id;
        this.profile = profile;
    }
}
Maven的完整课程(OK):

@Data
@AllArgsConstructor
public class Author {
    private String id;
    private String profile;
}
import java.beans.ConstructorProperties;

public class Author {
    private String id;
    private String profile;

    public void setId(String id) {
        this.id = id;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }

    @Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof Author)) {
            return false;
        }
        final Author other = (Author) o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
            return false;
        }
        final Object this$profile = getProfile();
        final Object other$profile = other.getProfile();
        return this$profile == null ? other$profile == null : this$profile.equals(other$profile);
    }

    protected boolean canEqual(Object other) {
        return other instanceof Author;
    }

    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        final Object $profile = getProfile();
        result = result * 59 + ($profile == null ? 43 : $profile.hashCode());
        return result;
    }

    @Override
    public String toString() {
        return "Author(id=" + getId() + ", profile=" + getProfile() + ")";
    }

    @ConstructorProperties({ "id", "profile" })
    public Author(String id, String profile) {
        this.id = id;
        this.profile = profile;
    }

    public String getId() {
        return id;
    }

    public String getProfile() {
        return profile;
    }
}
public class Author {
    private String id;
    private String profile;

    public String getId() {
        return id;
    }

    public String getProfile() {
        return profile;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }

    @Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof Author)) {
            return false;
        }
        final Author other = (Author) o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
            return false;
        }
        final Object this$profile = getProfile();
        final Object other$profile = other.getProfile();
        return this$profile == null ? other$profile == null : this$profile.equals(other$profile);
    }

    protected boolean canEqual(Object other) {
        return other instanceof Author;
    }

    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        final Object $profile = getProfile();
        result = result * 59 + ($profile == null ? 43 : $profile.hashCode());
        return result;
    }

    @Override
    public String toString() {
        return "Author(id=" + getId() + ", profile=" + getProfile() + ")";
    }

    public Author(String id, String profile) {
        this.id = id;
        this.profile = profile;
    }
}
Eclipse提供的完整类:

@Data
@AllArgsConstructor
public class Author {
    private String id;
    private String profile;
}
import java.beans.ConstructorProperties;

public class Author {
    private String id;
    private String profile;

    public void setId(String id) {
        this.id = id;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }

    @Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof Author)) {
            return false;
        }
        final Author other = (Author) o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
            return false;
        }
        final Object this$profile = getProfile();
        final Object other$profile = other.getProfile();
        return this$profile == null ? other$profile == null : this$profile.equals(other$profile);
    }

    protected boolean canEqual(Object other) {
        return other instanceof Author;
    }

    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        final Object $profile = getProfile();
        result = result * 59 + ($profile == null ? 43 : $profile.hashCode());
        return result;
    }

    @Override
    public String toString() {
        return "Author(id=" + getId() + ", profile=" + getProfile() + ")";
    }

    @ConstructorProperties({ "id", "profile" })
    public Author(String id, String profile) {
        this.id = id;
        this.profile = profile;
    }

    public String getId() {
        return id;
    }

    public String getProfile() {
        return profile;
    }
}
public class Author {
    private String id;
    private String profile;

    public String getId() {
        return id;
    }

    public String getProfile() {
        return profile;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }

    @Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof Author)) {
            return false;
        }
        final Author other = (Author) o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
            return false;
        }
        final Object this$profile = getProfile();
        final Object other$profile = other.getProfile();
        return this$profile == null ? other$profile == null : this$profile.equals(other$profile);
    }

    protected boolean canEqual(Object other) {
        return other instanceof Author;
    }

    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        final Object $profile = getProfile();
        result = result * 59 + ($profile == null ? 43 : $profile.hashCode());
        return result;
    }

    @Override
    public String toString() {
        return "Author(id=" + getId() + ", profile=" + getProfile() + ")";
    }

    public Author(String id, String profile) {
        this.id = id;
        this.profile = profile;
    }
}

@tobias_k找到解决方案:


Eclipse需要安装Maven项目使用的相同版本的Lombok。

您在Eclipse中安装的Lombok版本是否与您在项目依赖项中使用的版本相同?Eclipse中的Lombok是IDE的插件,用于显示Lombok配置中的错误。您应该确保eclipse插件可以很好地与您正在使用的Lombok库配合使用,如@tobias_k所说。