Questions tagged «lombok»

Lombok项目是一个通过注释减少Java代码样板并生成编译时间代码的工具。

15
使用龙目岛计划安全吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 如果您不知道Project Lombok可以通过诸如生成带有注释的getter和setter之类的东西,甚至像通过@Data生成之类的简单JavaBean来解决Java的某些烦恼。它确实可以为我提供帮助,尤其是在50个不同的事件对象中,您最多需要构造7个不同的字段并使用getter将其隐藏。我可以用它删除几乎一千行代码。 但是,我担心从长远来看,这将是一个令人遗憾的决定。##Java Freenode当我提到它时,Flamewars会在该频道中爆发,提供的代码片段会混淆可能的助手,人们会抱怨缺少JavaDoc,将来的提交者可能还是将其全部删除。我真的很喜欢正面的东西,但我担心负面的东西。 因此:在任何大小的项目中使用Lombok是否安全?积极的影响值得消极的吗?
436 java  lombok 

3
在龙目岛省去一位塞特犬
我想在Lombok中使用数据类。由于它具有大约十二个字段,因此我对其进行@Data了注释,以生成所有的setter和getter。但是,有一个我不想实现访问器的特殊领域。 龙目岛如何忽略此字段?
232 java  lombok 

30
在IntelliJ IDEA下使用Lombok时无法编译项目
我正在尝试使用IntelliJ IDEA 11开发的项目中使用Lombok。 我已经为IDEA安装了3rd-party插件,由于IDEA可以看到所有自动生成的方法/字段,因此似乎工作正常。 所以我有一个使用Slf4j的类。我这样注释 import lombok.extern.slf4j.Slf4j; @Slf4j public class TestClass { public TestClass() { log.info("Hello!"); } } 但是,当我构建项目编译器时,它会吐出:cannot find symbol variable log。 你能告诉我我在这里想念的吗? 更新:原来是RequestFactory注释过程失败。 input files: {com.zasutki.courierApp.server.TestServlet, com.mine.courierApp.server.model.DatastoreObject} annotations: [javax.inject.Singleton, javax.inject.Inject, lombok.Getter, lombok.Setter, com.googlecode.objectify.annotation.Id, com.googlecode.objectify.annotation.OnSave] Processor com.google.web.bindery.requestfactory.apt.RfValidator matches [lombok.Getter, com.googlecode.objectify.annotation.Id, javax.inject.Inject, lombok.Setter, com.googlecode.objectify.annotation.OnSave, javax.inject.Singleton] and returns false. cannot find …


4
龙目岛如何运作?
我今天遇见了龙目岛。 我很想知道它是如何工作的。 Java极客文章提供了一些线索,但对我来说还不是很清楚: Java 6删除了apt,并使javac能够管理注释,从而简化了流程以获得更简单的单步计算。这是龙目岛采取的道路。 也许在Java 6中,编译过程将是:javac-> apt-> lombok apt进程->读取类文件并使用ASM添加set / get方法? 您能告诉我有关该机制的更多细节吗?
148 java  annotations  lombok 

7
如何在龙目岛中调用超级构造函数
我有一堂课 @Value @NonFinal public class A { int x; int y; } 我还有另一个B班 @Value public class B extends A { int z; } lombok抛出错误,说它找不到A()构造函数,显式调用它是我想要lombok要做的就是给b类添加注释,从而生成以下代码: public class B extends A { int z; public B( int x, int y, int z) { super( x , y ); this.z = z; } …
118 java  lombok 

23
使用Lombok的@ Slf4j和Intellij构建:找不到符号日志
我有一个从命令行构建没有问题的Maven项目。但是,当我使用IntelliJ构建它时,出现错误: java: FileName.java:89: cannot find symbol symbol : variable log 在Java文件中没有定义或导入日志,但是有一个 @Slf4j final public class FileName { 类主体之前的语句,应定义日志类。 在项目结构窗口中,用于以下类的类: Maven: org.slf4j:jcl-over-slf4j:1.6.1 Maven: org.slf4j:slf4j-api:1.6.6 Maven: org.slf4j:slf4j-log4j12:1.6.6 Maven: org.slf4j:slf4j-simple:1.6.6 在库下列出,并指示已下载并可用。 是否知道为什么会通过命令行而不是通过IntelliJ使用maven构建它,以及如何解决此问题?

2
使用lombok从现有对象构建对象
可以说我有一个龙目岛注释类 @Builder class Band { String name; String type; } 我知道我可以做: Band rollingStones = Band.builder().name("Rolling Stones").type("Rock Band").build(); 是否有一种简单的方法可以使用现有对象作为模板并更改其属性之一来创建Foo对象? 就像是: Band nirvana = Band.builder(rollingStones).name("Nirvana"); 我在lombok文档中找不到此文件。
105 java  lombok 

20
龙目岛没有产生吸气剂和二传手
我只是试图将基于Maven的项目发送到另一台计算机和恐怖,到处都是红色标记! 但是,mvn clean install建造就好了。 很快,我注意到Lombok并没有为我的类生成getter和setter,尽管Eclipse已正确识别了@Getterand @Setter。 两台计算机使用相同的Maven版本(3.0.4),但使用不同的JDK(1.6_23和1.6_33)。他们都使用Eclipse Indigo 32位。您是否有解决问题的想法?
101 java  eclipse  maven  lombok 

4
@Data注释Lombok上的警告equals / hashCode具有继承性
我有一个从其他继承的实体。另一方面,我正在使用lombok项目来减少样板代码,因此我添加了@Data注释。@Data具有继承的注释会产生下一个警告: 生成equals / hashCode实现,但不调用超类,即使该类未扩展java.lang.Object。如果这是故意的,请添加@EqualsAndHashCode(callSuper=false)您的类型。 是否建议添加注释@EqualsAndHashCode (callSuper = true)或@EqualsAndHashCode (callSuper = false)?如果不加它,哪一个是它callSuper=false还是callSuper=true?
101 java  lombok 

14
不能让杰克逊和龙目岛一起工作
我正在尝试结合杰克逊和龙目岛。这些是我的课程: package testelombok; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Value; import lombok.experimental.Wither; @Value @Wither @AllArgsConstructor(onConstructor=@__(@JsonCreator)) public class TestFoo { @JsonProperty("xoom") private String x; private int z; } package testelombok; import com.fasterxml.jackson.databind.ObjectMapper; import com.xebia.jacksonlombok.JacksonLombokAnnotationIntrospector; import java.io.IOException; public class TestLombok { public static void main(String[] args) throws IOException { TestFoo tf …

8
Lombok @Builder和JPA默认构造函数
我正在将Lombok项目与Spring Data JPA一起使用。有什么方法可以将Lombok@Builder与JPA默认构造函数连接? 码: @Entity @Builder class Person { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; } 据我所知,JPA需要默认构造函数,该默认构造函数被@Builder注释覆盖。有什么解决方法吗? 这段代码给我错误: org.hibernate.InstantiationException: No default constructor for entity: : app.domain.model.Person

9
Lombok @Builder的必需参数
如果我将@Builder添加到类中。创建了builder方法。 Person.builder().name("john").surname("Smith").build(); 我有一个需要特定字段的要求。在这种情况下,名称字段是必填字段,而不是姓氏。理想情况下,我想这样声明。 Person.builder("john").surname("Smith").build() 我不知道该怎么做。我尝试将@Builder添加到构造函数中,但是没有用。 @Builder public Person(String name) { this.name = name; }
73 java  lombok 

4
Kotlin没有看到Java Lombok访问器?
使用Kotlin 1.0.0版本(在IntelliJ 15中编译)。 println(myPojoInstance.foo) 当它尝试编译引用基于Lombok的POJO的代码(在IntelliJ或Gradle中)时,出现错误“无法访问'foo':在“ MyPojo”中为'private'。是的,它们都是私有的,而我的对象有@Value @Builder用于lombok批注。 我尝试过专门调用getFoo(),但是它说“ getFoo的未解析引用”。也许有一些技巧可以使Kotlin知道如何处理lombok注释?
71 kotlin  lombok  println 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.