我在編譯時使用APT處理註釋,我需要在某些類中獲取@XmlElement
註釋的值。這個類看起來是這樣的:如何訪問APT中的@XmlElement值?
public class ComponentConfig {
@XmlElements({
@XmlElement(type = Sample1.class, name = "sample-1-config"),
@XmlElement(type = Sample2.class, name = "sample-2-config"),
@XmlElement(type = Sample3.class, name = "sample-3-config"),
})
//...
}
我想獲得@XmlElement
的name
值,但下面的處理器代碼不能把它拿來給我:
List<? extends AnnotationMirror> annotationMirrors = element.getAnnotationMirrors();
for (AnnotationMirror mirror : annotationMirrors) {
if (mirror.getAnnotationType().toString().equals(XML_ELEMENT)) {
System.out.println(getAnnotationValueMapValueOfName(mirror));
nodes.add(getAnnotationValueMapValueOfName(mirror));
}
}
+1,好知道APT已被棄用。我剛剛找到關於它的博客條目:https://blogs.oracle.com/darcy/entry/apt_ending – palacsint 2012-08-09 22:16:26