# 配置注解处理器

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

您可以配置 IntelliJ IDEA 以在编译期间处理自定义注解。 在编译时生成代码以处理注解的过程称为  Annotation Processing 。

注解处理器可以根据注解验证、生成和修改您的代码，这将大大减少您需要编写的代码量。 注解处理器可以存储在您的项目内。 在这种情况下，IntelliJ IDEA 从 classpath 获取它。 如果注解处理器存储在项目外部，则需要手动添加注解处理器 JAR 的路径。

通过在 [Maven](work-with-maven-dependencies.html#annotation_processors) 或 [Gradle](#gradle_annotations) 项目中通过构建脚本添加注解处理器时，IntelliJ IDEA 会自动启用注解处理，并在注解处理器设置中添加适当的路径。

## 注解处理配置文件

注解配置文件  是一组用于注解处理的配置选项。 选项包括注解处理输出的位置、特定注解处理器及其参数。

默认配置文件始终存在。 项目包含的所有模块都使用默认配置文件。 您可以创建一个新配置文件，将多个模块归入其中，并为指定的模块组配置注解处理。

Procedure: 配置注解配置文件

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `构建，执行，部署 | 编译器 | 注解处理器` 。

2. 在   注解处理器  页面上，点击页面底部的 !["添加"图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg)。

3. 在   创建新配置文件  对话框中，指定配置文件名称。

![创建注解处理器配置文件](https://resources.jetbrains.com/help/img/idea/2026.3/create_annotation_profile.png)

要将模块移动到创建的配置文件中，请选择您需要的模块，点击 ![移动图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.actions.forward.svg) ( `F6` (Windows), `F6` (macOS), `F6` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ I` (macOS System Shortcuts), `F6` (XWin), `F6` (GNOME), `F6` (KDE), `F6` (Emacs), `F6` (Sublime Text), `F6` (Sublime Text (macOS)), `Ctrl+R, O` (Visual Studio), `⌘ R, O` (Visual Studio (macOS)), `Ctrl+M` (NetBeans), `Alt+Shift+V` (Eclipse), `⌘ ⌥ V` (Eclipse (macOS)))并选择目标配置文件。

> **Note:**
> 如果您删除（ ![删除图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.remove.svg)）一个配置文件，则与被删除的配置文件关联的所有模块都会移动到默认配置文件。

Procedure: 为配置文件配置注解处理

1. 请选择所需的注释配置文件。

2. 请选择   启用注解处理   并配置以下选项：

* 从项目类路径获取处理器 ：如果您在项目中使用自定义注解处理器，或者处理器作为库存储在附加到所有相应模块的 `.jar` 文件中，请保持此选项启用。

* 处理器路径 ：选择此选项并指定注解处理器的路径，如果它存储在项目之外。 如果 [Gradle 项目](work-with-gradle-projects.html#delegate_build_gradle)在 `build.gradle` 文件中指定了 `annotationProcessor` 依赖项，此字段将包含导入 Gradle project 时 Gradle 使用的注解处理器的路径。 当您使用 Gradle 构建此类项目时，IntelliJ IDEA 会在 `构建` 目录中的 项目 工具窗口内生成适当的子目录。 ![项目工具窗口：annotationProcessor](https://resources.jetbrains.com/help/img/idea/2026.3/gradle_annotationProcessor.png) 对于 [Maven 项目](work-with-maven-dependencies.html#annotation_processors)，该字段将包含在 `pom.xml` 中指定的注解处理器路径。

* 请使用 --processor-module-path 编译器选项（适用于 java 9 及更高版本） ：假设指定的路径是模块路径：包含已打包 Java 模块的 JAR 文件或目录的路径。 为了从模块路径发现和运行，注解处理器应打包为 Java 模块并在模块声明中通过 ServiceLoader 进行注册。

* 将生成的来源存储为相对路径 ：使用 模块输出目录 和 模块内容根目录 选项定义注解处理器生成的源文件的存储位置，并覆盖配置文件的默认行为。 > **Note:** > 当您 [重建项目](compiling-applications.html#rebuild_project)时，存放生成源代码的目录将像普通输出目录一样被清理。 因此，不建议在此类目录中存储非生成的源代码。

* 生产源 和 测试源 ：使用这些字段来指定注解处理器输出将要存储的目录名称。 如果该字段留空，注解处理器生成的文件将存储在项目输出目录下。 指定名称时，在内容根目录下会在自动注解处理后创建一个具有此名称的目录。

* 处理器 FQ 名称 ：指定处理器要启动的完全限定名称。 如果未指定任何内容，则 IntelliJ IDEA 将启动在指定位置检测到的所有处理器。

* 注解处理器选项 ：使用此区域配置处理器运行选项，无论是作为 `-key=value` ，还是 `key=value` 。 使用空格来分隔各个选项。

## See also

### 过程

[Java 注解](annotating-source-code.html)

