java: 您没有使用 lombok 支持的编译器,因此 lombok 将无法工作并且已被禁用

java: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled

升级后,无法 运行 来自 intellij 的应用程序 IDE。

Intellij 版本:IntelliJ IDEA 2020.3(社区版) 构建 #IC-203.5981.155,构建于 2020 年 12 月 1 日

龙目岛版本:0.32-EAP

错误:

java: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.
  Your processor is: com.sun.proxy.$Proxy24
  Lombok supports: sun/apple javac 1.6, ECJ

将我的 Intellij 社区更新到 20.3 后,我遇到了同样的问题。 这个问题可以通过将 lombok 插件更新到 1.18.16

来解决

此问题在 IntelliJ IDEA 2020.3(社区版)Build #IC-203.5981.155 中引入。

您可以通过将此依赖项添加到您的项目中来修复它 -

Maven -


<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.16</version>
    <scope>provided</scope>
</dependency>

Gradle -

providedCompile group: 'org.projectlombok', name: 'lombok', version: '1.18.16'

使用此版本:

  • 版本:2020.3
  • 内部版本:203.5981.155
  • 2020 年 12 月 1 日

我收到这条消息:

⚠ You aren't using a compiler supported by lombok, so lombok will not work and has been disabled


所以,

我在 IntelliJ 中添加了 lombok 插件:

我启用了它:

我下载了最后一个lombok Jar: https://projectlombok.org/downloads/lombok.jar

并手动安装:

在平台设置中添加

而且,现在,它工作正常


PS: 我的project Lombok的版本dependency1.18.8 而平台设置中安装的 jar 下载的 plugin 之一是1.18.16.

java:您没有使用 lombok 支持的编译器,因此 lombok 将无法工作并已被禁用。 您的处理器是:com.sun.proxy.$Proxy27 龙目岛支持:sun/apple javac 1.6, ECJ

通过为 gradle 添加以下依赖项来升级您的 lombok 版本,因为这是更新的 Intellij 2020.3 支持的版本:

compileOnly 'org.projectlombok:lombok:1.18.16'
annotationProcessor 'org.projectlombok:lombok:1.18.16'

您需要启用 捆绑的 插件。

从 2020.3 版本开始,Lombok 插件已内置,您无需下载单独的插件(该插件将不再有效)。在 installed 插件中找到它(而不是在 marketplace 中)并简单地启用它。

该插件不再有 主页 link,并且有不同的描述。

使用 lombok 1.18.16 对我不起作用。我在

中的构建过程 VM 选项中添加了以下参数
-Djps.track.ap.dependencies=false

设置:-

Build, Execution, Deployment -> Compiler -> Shared build process VM options

并且有效 https://github.com/rzwitserloot/lombok/issues/2592

在我的例子中,我在项目中有一个依赖模块 运行,它使用了另一个版本的 lombok。另一个 spring-boot 版本更准确。它的 BOM 是另一个 lombok 版本。

Intellij CE 版本:2020.3 通过简单地更新 POM 依赖关系修复了 Lombok 问题。例如,

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.16</version>
</dependency>

我的项目在 1.18.16 版本中有 lombok,但 intellij 2020.3 拒绝编译我的代码,以上答案没有帮助:(.

最终在设置->“构建、执行、部署”->编译器->“注释处理器”中进行调整:)。确保启用“注释处理”和“从类路径获取处理器”复选框。

screenshot

  • 转到 IntelliJ |偏好 |构建、执行、部署 |
  • 编译器查找构建过程 VM 选项或共享构建过程 VM
  • options 添加字符串-Djps.track.ap.dependencies=false 到文本
  • 框点击保存

通过使用 maven-compiler-plugin 配置并指定 annotationProcessorPaths 如下解决:

注意我也有 mapstruct,因此有额外的路径。

里面 build/plugins:

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven-compiler-plugin.version}</version>
        <configuration>
          <source>${java.version}</source>
          <target>${java.version}</target>
          <annotationProcessorPaths>
            <path>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
              <version>${lombok.version}</version>
            </path>
            <path>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok-mapstruct-binding</artifactId>
              <version>${mapstruct-processor.version}</version>
            </path>
            <path>
              <groupId>org.mapstruct</groupId>
              <artifactId>mapstruct-processor</artifactId>
              <version>${mapstruct.version}</version>
            </path>
          </annotationProcessorPaths>
        </configuration>
      </plugin>

我的依赖项:

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.mapstruct</groupId>
      <artifactId>mapstruct</artifactId>
      <version>${mapstruct.version}</version>
    </dependency>

我的属性:

    <java.version>11</java.version>
    <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
    <mapstruct.version>1.4.2.Final</mapstruct.version>
    <mapstruct-processor.version>0.2.0</mapstruct-processor.version>
    <!-- Bumped version of lombok temporarily to avoid issues with IntelliJ 2020.3+ until we have upgraded to a more recent version of spring boot. -->
    <lombok.version>1.18.20</lombok.version>

注意: 我将 lombok 版本覆盖为 1.18.20,因为我仍在使用旧版本的 spring 引导,它在引擎盖下使用 1.18.12...

我有同样的错误,我解决了将 IntelliJ 更新到 2021.1.1 版本: IntelliJ IDEA 2021.1.1(社区版) 构建 #IC-211.7142.45,构建于 2021 年 4 月 30 日

执行此步骤解决此问题 -->

  1. 从 header
  2. 单击文件菜单附近的 IntelliJ Idea
  3. 打开首选项
  4. 点击构建、执行、部署
  5. 去编译
  6. 在 User-local 构建过程 VM 选项中 -> 添加此命令 -Djps.track.ap.dependencies=假
  7. 应用更改

对于不耐烦的人(比如我)添加

-Djps.track.ap.dependencies=false

到'Shared build process VM options:'

对我来说,我禁用了捆绑的 Lombok 插件。然后再次启用它并重新加载maven项目。 Boomshakalaka.

龙目岛 1.18.22

想法 2021.3 #IU-213.5744.223