如何使用注释替换Java中的代码?
我希望能够处理java项目预构建,这样我就可以找到所有注释,比如@Getter,并用分配字段的实际Getter语句替换它们如何使用注释替换Java中的代码?,java,eclipse,annotations,lombok,Java,Eclipse,Annotations,Lombok,我希望能够处理java项目预构建,这样我就可以找到所有注释,比如@Getter,并用分配字段的实际Getter语句替换它们 @Getter String s = "string"; 我基本上想做“龙目计划”所做的事情,但我想自己做,学习并简化它以满足我的需要 问题是,我不知道从哪里开始。我搜索过,没有发现任何有用的东西,我也尝试过,但没有运气。我希望它在eclipse构建上运行,这样jar就会自动正确。我还想创建它,这样当我将注释插入到java文件中时,它不会显示为错误,我假设我可以用依赖项修
@Getter String s = "string";
我基本上想做“龙目计划”所做的事情,但我想自己做,学习并简化它以满足我的需要
问题是,我不知道从哪里开始。我搜索过,没有发现任何有用的东西,我也尝试过,但没有运气。我希望它在eclipse构建上运行,这样jar就会自动正确。我还想创建它,这样当我将注释插入到java文件中时,它不会显示为错误,我假设我可以用依赖项修复它
根据经验,我知道如何使用和创建注释,但仅用于存储元数据,而不是用作占位符
如果您有任何提示或了解任何资源来帮助我,我将不胜感激
另外,我已经看过了ProjectLombok的源代码,它太过广泛,无法找到需要做的事情。AFAIK Lombok在注释处理器中进行了一些AST操作(不是100%确定),规范没有正式支持这种操作。因此,它更像是一种克服Java语言中某些缺点的技巧。非常简单。首先,需要将lombok.jar附加到项目中。
右键单击项目并转到属性。附加外部jar/库。现在导入以下内容:-
import lombok.Getter;
import lombok.Setter;
import lombok.AccessLevel;
// and so on....
现在您可以使用@Getter@Setter,如下所示:-
@Getter @Setter private Car car;
现在您可以使用getCar()&setCar(…)
注意:-您可能需要为NetBeans启用注释处理。别问我怎么做。只需谷歌搜索或访问lombok的网站。您需要编写一个自定义注释处理器 基本上,在最后的编译步骤之前,您将搜索注释并向生成的类文件中添加自定义代码 处理器需要实现
javax.annotation.processing.processor
来处理注释。我以前为NetBeans做过这项工作,并使用几年前的一篇好文章作为指导
祝你好运 这篇关于Java注释的维基百科文章应该很有帮助:Puce的答案是正确的。注释处理器应该编写新文件,而不是修改现有类。Lombok所做的事情非常复杂,也很难理解,但这仅仅是因为没有简单的方法。如果你读了我的问题,你会发现我是在问如何自己做这件事,并以Lombok为例,而不是想知道如何使用它……这是100%正确的(对于javac来说,Eclipse是另一回事)。使用注释处理器,官方不可能修改现有代码。充分披露:我是龙目项目的核心开发者之一。