java中process⽅法⽤处_java中processor怎么⽤
匿名⽤户
1级
2017-08-20 回答
实现步骤
使⽤Annotation Processor需要实现AbstraceProcessor这个抽象类,并配置⼯程引⽤这个Processor。
以下从Gradle编译⼯程及Eclipse中配置两⽅⾯介绍如何⾃定义并使⽤Annotation Processor。
Gradle编译环境:
1.实现Annotation Processor
2.配置Processor⼯程的META_INF⽂件
3.在开发的代码中使⽤⾃定义注解
抽象类的使用4.配置gradle编译脚本,引⼊processor⼯程
5.进⾏项⽬构建,查看processor输出
Eclipse环境:
1.将Gradle环境编译出的processor.jar作为库引⼊到⼯程中
2.配置当前⼯程⽀持Annotation Processor,并使⽤⾃定义的processor.jar⽂件
3.开发代码使⽤⾃定义注解,查看IDE上提⽰信息
*IDEA环境的配置与Eclipse类似,官⽹上已经有⽐较详细的描述了,可以查阅Jetbrain的官⽅⽂档。
Gradle环境
构建⼯程⽬录
先来看⼀下processor⼯程的构建。
假设在HelloWorld⼯程中使⽤⾃定义的processor;独⽴于HelloWorld⼯程,我们独⽴开发了⾃定义的processor⼯程。项⽬结构如下:MyProcessorTest
│
├─MyProcessor
│ │
│ └─src
│ └─main
│ └─java
│ └─com
│ └─processor
│ MyProcessor.java
│ TestAnnotation.java
│
└─src
└─main
└─java
└─com
└─hello
HelloWorld.java
主⼯程名为MyProcessorTest,在其中包含了processor⼯程MyProcessor 实现⾃定义注解
接下来实现⼀个⾃定义注解TestAnnotation:
package com.processor;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.SOURCE)
public @interface TestAnnotation {
int value();
String what();
}
创建⾃定义Annotation Processor
然后来实现⾃定义的Annotation Processor——MyProcessor
package com.processor;
import java.util.Set;
import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes; import javax.annotation.processing.SupportedSourceVersion;
import del.SourceVersion;
import del.element.TypeElement;
@SupportedAnnotationTypes({"com.processor.TestAnnotation"})
@SupportedSourceVersion(SourceVersion.RELEASE_7)
public class MyProcessor extends AbstractProcessor {
@Override
public boolean process(Set extends TypeElement> annotations, RoundEnvironment roundEnv) { System.out.println("Test log in MyProcessor.process");
return false;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论