corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

NetBeans IDE 中的标注处理程序支持

样例撰稿人:Jesse Glick。

本页上的内容适用于 NetBeans IDE 6.9、7.0 和 7.1

此教程包含两部分,演示了当您在 IDE 中处理代码时如何将标注处理程序附加到项目中以及如何使用它们。NetBeans IDE 包括对定制标注处理程序的内置支持。现在,可以通过代码完成和导航非常方便地指定要与项目一起运行的标注,并可以直接查看标注处理的结果。

教程的第一部分演示了如何在 NetBeans IDE 中使用第三方标注处理程序 Project Lombok

教程的第二部分说明如何将自创的标注处理程序添加到项目中。此部分的样例代码由 Jesse Glick 撰写。

要学完本教程,您需要具备以下软件和资源。

软件或资源 要求的版本
NetBeans IDE 6.9、7.0、7.1
Java Development Kit (JDK) 版本 6

注意:

  • NetBeans IDE 6.9 发行版中增加了对定制标注处理程序的支持。本教程不适用于早期版本的 IDE。

简介

“标注”是 Java 编程语言的一种机制,用于保存与应用程序的元素有关的 meta 数据。在部署期间或在运行时,标注保存有关编译器应如何处理已标注元素的 meta 信息。换言之,标注是其他程序和工具可以处理的代码的注释。

可以使用定制标注完成多种任务:标记应用程序的各个部分(如版权信息、测试方法等)、自动生成代码、解析命令行选项和开发 Web 服务等。有关应该如何处理定制标注的信息通过定制标注处理程序来传递到 Java 编译器。JDK 6 中实现的 JSR 269 为编写标注处理程序提供了一个正式 API。可以编写自己的定制标注处理程序或使用第三方解决方案。

有关 JDK 6 中标注的入门信息,请参阅下列资源:

实际上,标注最广泛的用法是与 Java 持久性 API (Java Persistence API, JPA) 一起使用,后者是 Java EE 规范及一些其他技术(如 Java Architecture for XML Binding,即 JAXB)的一部分。使用 JPA,可以将 Java 类作为实体进行标注,这些实体随后会保存到存储器中。要开发基于 JPA 的应用程序,使用框架(例如:与 IDE 捆绑在一起的 EclipseLink)会非常方便。若要开始了解有关在 NetBeans IDE 中编写基于 JPA 的应用程序的详细信息,请参见 Java EE 6 应用程序入门

用于标注处理的 Javac 选项和 IDE 命令的映射

如上所述,为了使 Java 编译器的功能完整,在 Java SE 6 Javac 中已包含了标注。缺省情况下,编译器自动在用户类路径下搜索标注处理程序(除非已明确禁用标注处理)。此外,可以使用 Javac 选项指定搜索路径或特定标注处理程序的路径。在下表中,可以看到与标注处理相关的 javac 选项和 IDE 中相应命令的映射。有关 JDK 6 中 Javac 选项的详细信息,请参见 javac - Java 编程语言编译器

注意:在 IDE 中,对于除 NetBeans 平台应用程序之外的所有 Java 应用程序,其标注处理选项均在“项目属性”窗口中指定。要打开项目的“属性”窗口,请右键单击项目,然后选择“属性”。

Java 6 javac 选项 IDE 命令 描述
-processor

"Project Properties"(项目属性)> "Build"(生成)> "Compiling"(编译)> "Annotation Processors"(标注处理程序)字段。

在“标注处理程序”字段中指定标注处理程序的完全限定名。

明确指定要运行的标注处理程序。此选项消除了创建服务提供程序配置文件 (META-INF/services/javax.annotation.processing.Processor) 的要求
-proc:none

"Project Properties"(项目属性)> "Build"(生成)> "Compiling"(编译)> "Enable Annotation Processing"(启用标注处理)复选框

如果禁用此复选框,则在不进行任何标注处理的情况下编译项目。

编译过程不进行任何标注处理。编译期间,不使用编译处理程序发现机制。
-processorpath

"Project Properties"(项目属性)> "Libraries"(库)> "Processor"(处理程序)标签

指定到 IDE 项目、库或含有标注处理程序的 JAR 文件的路径。如果标注处理程序和标注分别打包到单独的 JAR 文件,则使用此选项。

指定查找标注处理程序的位置;如果未给出此选项,则在类路径下搜索处理程序(请参见以下内容)。
-classpath

"Project Properties"(项目属性)> "Libraries"(库)> "Compile"(编译)标签

指定到 IDE 项目、库或含有标注处理程序和标注声明的 JAR 文件的路径。如果标注处理程序和标注被打包到一个 JAR 文件,则使用此选项。

指定查找用户类、(可选)标注处理程序和源文件的位置。如果没有指定 -processorpath 选项,请在此路径下搜索标注处理程序。
-Akey[=value]

"Project Properties"(项目属性)> "Build"(生成)> "Compiling"(编译)> "Processor Options"(处理程序选项)字段

添加应该传递到与项目相关联的标注处理程序的选项。本值为可选。

(可选)要传递到标注处理程序的选项。

 

后续步骤

阅读本教程的下列部分可了解如何在 IDE 中使用标注。