Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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
从Eclipse插件提供Java注释_Java_Eclipse_Annotations_Eclipse Pde - Fatal编程技术网

从Eclipse插件提供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时进行分析,但它对编译器没有任何价值 我的插件如何为工作区中的开放项目提供注释?经过一些研究,这是不可能

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

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

例如:

@SkipAnalysis
public void foo() {...}
该注释将由插件在遍历AST时进行分析,但它对编译器没有任何价值


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

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


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

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

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