从Eclipse插件中提供Java注释

时间:2016-04-06 10:46:30

标签: java eclipse annotations eclipse-pde

我正在开发一个Eclipse插件,用于扫描和修改当前打开的Java项目的AST。

我想创建一个Java注释,它将在使用该插件的项目中显示为已知注释。注释的RetentionPolicy将是SOURCE(因此它被编译器丢弃),但插件将能够识别(使用AST)标记有此注释的方法并相应地处理它们

例如:

@SkipAnalysis
public void foo() {...}

这个注释将在遍历AST时由插件进行分析,但它对编译器没有任何价值。

我的插件如何为工作区中的打开项目提供注释?

1 个答案:

答案 0 :(得分:0)

经过一些研究后发现,这是不可能的,因为注释(和其他类或接口)只能通过构建路径提供。 Eclipse插件可以更改构建路径,但不能将自己的源代码贡献给任何项目。

其中一种可能性是创建一个包含注释的库项目,然后使用该插件修改构建路径以将该库添加到构建路径的能力。但是,这很麻烦并且会为项目添加不必要的依赖项,如果库没有复制到项目的其他每个开发人员,可能会导致编译错误。例外情况是项目使用构建自动化系统(如Maven或Gradle),并且库存储在公共存储库(如Maven Central)中,确保在每个IDE上导入项目的每个用户都将下载该库。再次 - 可能,但很麻烦。