Java 1.8 和 IntelliJ IDEA 14 中的注解编译错误

Posted

技术标签:

【中文标题】Java 1.8 和 IntelliJ IDEA 14 中的注解编译错误【英文标题】:Compilation error for annotations in Java 1.8 and IntelliJ IDEA 14 【发布时间】:2016-01-06 04:16:30 【问题描述】:

我在玩 Java 注释处理。 IntelliJ IDEA 中的应用程序构建失败,而 maven 构建成功结束。我确定提供程序类存在,但我收到以下错误:

java: Bad service configuration file, or exception thrown while constructing Processor object: javax.annotation.processing.Processor: Provider <my class> not found.

我想这是因为模块 X,应该使用 -proc:none 参数编译。但是我需要为应用程序的其余部分启用注释处理。如何配置 IntelliJ IDEA 构建过程以在注释处理期间跳过特定模块?

【问题讨论】:

【参考方案1】:

您需要为您的模块配置单独的注释配置文件。

    创建注释配置文件
      在Annotation Processors页面,点击。 在“创建新配置文件”对话框中,指定 profile 名称。
    将模块与注释配置文件相关联
      default 配置文件下的模块列表中选择您的模块。 (默认情况下,一个项目的所有模块都与default 配置文件相关联。) 点击,或按F6。 从下拉列表中,选择要将所选模块移动到的目标配置文件。
    为配置文件配置注释处理
      启用default 配置文件的注释处理。 禁用您刚刚创建的配置文件的注释处理。

此答案基于IntelliJ IDEA Help的一篇文章。

【讨论】:

@maytham-ɯɐɥʇʎɐɯ IDK。屏幕截图是从 IntelliJ IDEA 帮助中复制的。 你为什么 a) 回答你自己的问题,b) 在你发布它的同一分钟回答它,c) 在一年多之后悬赏它?我很困惑。

以上是关于Java 1.8 和 IntelliJ IDEA 14 中的注解编译错误的主要内容,如果未能解决你的问题,请参考以下文章

Intellij IDEA 编译等级和JDK的作用

IntelliJ IDEA 创建项目

使用IntelliJ IDEA开发Java HelloWorld

类'java.io.'在JRE仿真库INTELLIJ IDEA中不存在

Intellij IDEA 配置Subversion插件

在Intellij IDEA搭建Scala开发环境,以及使用Intellij IDEA开发Scala程序