Java 通过注释处理添加注释

Java 通过注释处理添加注释,java,annotations,preprocessor,annotation-processing,Java,Annotations,Preprocessor,Annotation Processing,我试图通过使用注释对代码进行一些预处理。加载时,我想制作一个类及其函数的“虚拟”副本。但在编译/构建时,我必须使用注释进行一些“预编译”。我需要java的AbstractProcessor子类的process函数中的代码。它应将带有特殊参数的注释“@Named”(取决于注释@SpecialClass中定义的名称和方法/字段名称)添加到每个方法/字段中,对于没有任何注释的每个字段/方法来说,这些方法/字段既没有@Invisible,也没有@ready@Named方法。 如果检测到@SpecialC

我试图通过使用注释对代码进行一些预处理。加载时,我想制作一个类及其函数的“虚拟”副本。但在编译/构建时,我必须使用注释进行一些“预编译”。我需要java的AbstractProcessor子类的process函数中的代码。它应将带有特殊参数的注释“@Named”(取决于注释@SpecialClass中定义的名称和方法/字段名称)添加到每个方法/字段中,对于没有任何注释的每个字段/方法来说,这些方法/字段既没有@Invisible,也没有@ready@Named方法。 如果检测到@SpecialClass注释,将调用AbstractProcessor的进程函数

我想编译一下:

@SpecialClass(name="Class1")
public class Test{

    public int var1;

    @Invisible
    public int priv;

    @Named(name="variable", namespace="Class1")
    public int var2;

    public void funcA(...){...}

    @Invisible
    public void funcB(...){...}

    @Named(name="funcX", namespace="Class1")
    public void funcC(...){...}
}
为此:

@SpecialClass(name="Class1")
public class Test{

    @Named(name="var1", namespace="Class1")
    public int var1;

    @Invisible
    public int priv;

    @Named(name="variable", namespace="Class1")
    public int var2;

    @Named(name="funcA", namespace="Class1")
    public void funcA(...){...}

    @Invisible
    public void funcB(...){...}

    @Named(name="funcX", namespace="Class1")
    public void funcC(...){...}
}
我现在的问题是,我不知道如何向类对象(字段/方法)添加注释 另外,我不理解过程函数的两个参数的操作

我已经找到了这个话题:但没有人真正给出一个具体的例子。这就是为什么我在这里再次提问,希望有人能描述它的工作方式

先谢谢你

补充资料:

事实上,我不想问这个问题,因为我不想让人们认为我只是想得到你的答案,但当我问一个例子时,我希望有人能帮我解决这个问题。
稍后,当代码加载到VM中时,我将检查每个类是否有@Named注释。如果我找到了一个,我将在表示名称空间的对象中注册函数或字段。这意味着如果我想用这个昵称调用函数,我只需选择“对象”并查找方法的缺口。我需要在编译时而不是在运行时使用注释来完成方法和字段,因为可能会混淆实际的方法名。因此,运行时的方法和字段可能具有无意义的名称。这就是为什么我想在代码变得模糊之前->在编译时完成它。

您的问题不是很清楚,但在我看来,您在这里看错了方向。看看如何使用注释,而不是这种复杂的(而且很可能是不可能的)注释,实际上添加了一些可以更好地描述问题的信息。但是已经谢谢你的链接了。我只是不知道它能以何种方式支持这项行动。你能给我举个例子吗很抱歉,我现在不明白,我想了解更准确的信息。