草庐IT

Java Lombok : Omitting one field in @AllArgsConstructor?

如果我使用Lombok指定@AllArgsConstructor,它将生成一个构造函数来设置所有声明的(不是最终的,不是静态的)字段。是否可以省略某些字段,并为所有其他字段留下生成的构造函数? 最佳答案 不,那是不可能的。有一个创建@SomeArgsConstructor的功能请求,您可以在其中指定相关字段的列表。全面披露:我是ProjectLombok的核心开发人员之一。 关于JavaLombok:Omittingonefieldin@AllArgsConstructor?,我们在St

java - Lombok @Builder 的必需参数

如果我添加@Builder上课。生成器方法已创建。Person.builder().name("john").surname("Smith").build();我有一个需要特定字段的要求。在这种情况下,姓名字段是必需的,但姓氏不是。理想情况下,我想这样声明。Person.builder("john").surname("Smith").build()我不知道该怎么做。我尝试将@Builder添加到构造函数中,但没有成功。@BuilderpublicPerson(Stringname){this.name=name;} 最佳答案 你可

java - 升级到 lombok 1.16.2 后错误 : package javax. 注释不存在

我的android项目使用lombok1.16.0构建良好,但是一旦我将依赖项更改为目标1.16.2,我在使用lombok注释的任何地方都会收到以下错误:Error:(20,1)错误:包javax.annotation不存在AndroidSDK不包含所有javax包。我想知道这是1.16.2中的错误还是我现在必须向javax.annotation添加依赖项?注意:这是在带有Lombok插件0.8.8的AndroidStudio中 最佳答案 您可以通过将以下行放入项目顶级目录之一的lombok.config文件中来禁用javax.an

java - 带有继承的@Data注释lombok上的警告等于/哈希码

我有一个继承自其他实体的实体。另一方面,我使用lombok项目来减少样板代码,所以我放了@Data注释。带有继承的注释@Data会产生下一个警告:Generatingequals/hashCodeimplementationbutwithoutacalltosuperclass,eventhoughthisclassdoesnotextendjava.lang.Object.Ifthisisintentional,add@EqualsAndHashCode(callSuper=false)toyourtype.是否建议添加注解@EqualsAndHashCode(callSuper=t

java - Lombok @builder 在扩展另一个类的类上

我有两个类Child延长Parent.我需要在类上添加@Builder注释,这样我就不需要自己创建构建器了。packagejerry;//Internalcompilererror:java.lang.NullPointerExceptionimportlombok.AllArgsConstructor;importlombok.Builder;@AllArgsConstructor(onConstructor=@__(@Builder))publicclassChildextendsParent{//Multiplemarkersatthisline//-Implicitsuperc

java - Lombok @Builder 和 JPA 默认构造函数

我将Lombok项目与SpringDataJPA一起使用。有没有办法将Lombok@Builder与JPA默认构造函数连接起来?代码:@Entity@BuilderclassPerson{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;}据我所知,JPA需要由@Builder注释覆盖的默认构造函数。有什么解决办法吗?这段代码给了我错误:org.hibernate.InstantiationException:没有实体的默认构造函数::app.domain.model.Person 最

java - 是否可以将 Lombok 与 Kotlin 一起使用?

我有一个KotlinGradle项目。我将Lombok添加为依赖项,并使用kapt注册了它compileOnly("org.projectlombok:lombok:$lombokVersion")kapt("org.projectlombok:lombok:$lombokVersion")我想使用@Slf4jannotation用于自动记录器生成。它适用于Java类,但不适用于Kotlin类。到目前为止,是否可以同时使用Kotlin和Lombok?如果我用@Slf4j注释Kotlin类并在其中使用log我得到Unresolvedreference:log显然没有应用注释处理。

java - 如何在 Lombok 调用 super 构造函数

我有课@Value@NonFinalpublicclassA{intx;inty;}我还有一个B类@ValuepublicclassBextendsA{intz;}lombok抛出错误,说它找不到A()构造函数,显式调用它我想要lombok做的是给类b提供注释,使其生成以下代码:publicclassBextendsA{intz;publicB(intx,inty,intz){super(x,y);this.z=z;}}我们在Lombok中是否有注释可以做到这一点? 最佳答案 这在Lombok是不可能的。虽然这将是一个非常好的特性,

java - Lombok 如何运作?

我遇到了lombok今天。我很想知道它是如何工作的。AJavaGeekArticle提供了一些线索,但对我来说并不完全清楚:Java6removesaptandmakejavacabletomanageannotations,streamliningtheprocesstoobtainasimplersinglestepcomputing.ThisisthepathtakenbyLombok.也许在Java6中编译过程是:javac->apt->lombokapt进程->读取类文件并使用ASM添加set/get方法?您能告诉我有关该机制的更多详细信息吗? 最

java - 在 IntelliJ IDEA 下使用 Lombok 时无法编译项目

我正在尝试使用Lombok在我使用IntelliJIDEA11开发的项目中。我已经安装了3rd-partypluginforIDEA它似乎工作正常,因为IDEA可以看到所有自动生成的方法/字段。所以我有一个使用Slf4j的类。我是这样注释的importlombok.extern.slf4j.Slf4j;@Slf4jpublicclassTestClass{publicTestClass(){log.info("Hello!");}}但是当我构建我的项目编译器吐出:找不到符号变量日志。你能告诉我这里缺少什么吗?更新:原来是RequestFactory注解过程失败了。inputfiles: