从Eclipse插件提供Java注释
我正在开发一个Eclipse插件,用于扫描和修改当前打开的Java项目的AST 我想创建一个Java注释,在使用插件的项目中显示为已知注释。注释的从Eclipse插件提供Java注释,java,eclipse,annotations,eclipse-pde,Java,Eclipse,Annotations,Eclipse Pde,我正在开发一个Eclipse插件,用于扫描和修改当前打开的Java项目的AST 我想创建一个Java注释,在使用插件的项目中显示为已知注释。注释的RetentionPolicy将是SOURCE(因此编译器会丢弃它),但是插件将能够识别(使用AST)标记有此注释的方法并相应地处理它们 例如: @SkipAnalysis public void foo() {...} 该注释将由插件在遍历AST时进行分析,但它对编译器没有任何价值 我的插件如何为工作区中的开放项目提供注释?经过一些研究,这是不可能
RetentionPolicy
将是SOURCE
(因此编译器会丢弃它),但是插件将能够识别(使用AST)标记有此注释的方法并相应地处理它们
例如:
@SkipAnalysis
public void foo() {...}
该注释将由插件在遍历AST时进行分析,但它对编译器没有任何价值
我的插件如何为工作区中的开放项目提供注释?经过一些研究,这是不可能的,因为注释(以及其他类或接口)只能通过构建路径提供。Eclipse插件可以更改构建路径,但不能向任何项目贡献自己的源代码
一种可能性是创建一个包含注释的库项目,然后使用插件的功能修改构建路径,将该库添加到构建路径中。但是,这很麻烦,并且会给项目添加不必要的依赖项,如果没有将库复制给处理该项目的所有其他开发人员,则可能会导致编译错误。例外情况是,如果项目使用构建自动化系统(如Maven或Gradle),并且库存储在公共存储库中(如Maven Central),则确保在每个IDE上导入项目的每个用户都将下载该库。同样-可能,但很麻烦。经过一些研究,这是不可能的,因为注释(以及其他类或接口)只能通过构建路径提供。Eclipse插件可以更改构建路径,但不能向任何项目贡献自己的源代码 一种可能性是创建一个包含注释的库项目,然后使用插件的功能修改构建路径,将该库添加到构建路径中。但是,这很麻烦,并且会给项目添加不必要的依赖项,如果没有将库复制给处理该项目的所有其他开发人员,则可能会导致编译错误。例外情况是,如果项目使用构建自动化系统(如Maven或Gradle),并且库存储在公共存储库中(如Maven Central),则确保在每个IDE上导入项目的每个用户都将下载该库。同样-可能,但麻烦