【问题标题】:Error ClientBuilder() is not public in com.company.entities.Client.ClientBuilder; cannot be accessed from outside package错误 ClientBuilder() 在 com.company.entities.Client.ClientBuilder 中不公开;无法从外部包访问
【发布时间】:2018-06-27 22:36:28
【问题描述】:

我正在使用带有实体的 lombok 项目,这是我的示例:

package com.company.entities;//<---------Note the package 

import javax.persistence.Entity;
import javax.persistence.Id;
import lombok.Builder; 
import lombok.Getter; 
import lombok.Setter;

@Entity
@Builder
@Getter @Setter @AllArgsConstructor @NoArgsConstructor @ToString
public class Client {

    @Id
    private long id;
    private String firstName;
    private String lastName;

}

所以当我尝试在同一个包中使用时,效果很好

当我将包更改为 package com.company.controllers; 时:

package com.company.controllers;//<---------Note the package 

public class Mcve {

    public static void main(String[] args) {
        Client client = new Client.ClientBuilder()
                .id(123)
                .firstName("firstName")
                .lastName("lastName")
                .build();
    }     
}

我收到一个错误:

ClientBuilder() is not public in com.company.entities.Client.ClientBuilder; cannot be accessed from outside package

我尝试了这篇文章中的所有解决方案:

我使用 lombok 1.16.181.16.20 进行测试。

当我创建自己的构建器类时,它工作正常,但是当我使用@Builder 时,我知道这是什么意思,但没办法,我无法解决这个问题!我该怎么做才能解决这个问题?

【问题讨论】:

    标签: java jpa entity lombok


    【解决方案1】:

    您不必实例化构建器。而是使用:

      Client client = Client.builder()
                .id(123)
                .firstName("firstName")
                .lastName("lastName")
                .build();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多