Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用注释替换Java中的代码?_Java_Eclipse_Annotations_Lombok - Fatal编程技术网

如何使用注释替换Java中的代码?

如何使用注释替换Java中的代码?,java,eclipse,annotations,lombok,Java,Eclipse,Annotations,Lombok,我希望能够处理java项目预构建,这样我就可以找到所有注释,比如@Getter,并用分配字段的实际Getter语句替换它们 @Getter String s = "string"; 我基本上想做“龙目计划”所做的事情,但我想自己做,学习并简化它以满足我的需要 问题是,我不知道从哪里开始。我搜索过,没有发现任何有用的东西,我也尝试过,但没有运气。我希望它在eclipse构建上运行,这样jar就会自动正确。我还想创建它,这样当我将注释插入到java文件中时,它不会显示为错误,我假设我可以用依赖项修

我希望能够处理java项目预构建,这样我就可以找到所有注释,比如@Getter,并用分配字段的实际Getter语句替换它们

@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是另一回事)。使用注释处理器,官方不可能修改现有代码。充分披露:我是龙目项目的核心开发者之一。