java: вы не используете компилятор, поддерживаемый lombok, поэтому lombok не будет работать и был отключен

После обновления невозможно запустить приложение из intellij IDE.

Версия Intellij: IntelliJ IDEA 2020.3 (Community Edition) Build #IC-203.5981.155, построено 1 декабря 2020 г.

версия ломбока: 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

20 ответов

Решение

У меня была такая же проблема после обновления моего сообщества Intellij до 20.3. Проблема может быть решена обновлением плагина lombok до версии 1.18.16.

Использование lombok 1.18.16 у меня не помогло. Я добавил приведенный ниже аргумент в параметры виртуальной машины процесса сборки в

      -Djps.track.ap.dependencies=false

Параметр:-

Сборка, выполнение, развертывание -> Компилятор -> Параметры виртуальной машины для общего процесса сборки

и это сработало https://github.com/rzwitserloot/lombok/issues/2592

Для нетерпеливых (таких как я) добавлю

      -Djps.track.ap.dependencies=false

на «Параметры виртуальной машины общего процесса сборки:»

Эта проблема представлена ​​в IntelliJ IDEA 2020.3 (Community Edition), сборка № 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'


Выполните следующие действия, чтобы решить эту проблему ->

  1. Нажмите на IntelliJ Idea рядом с меню «Файл» из заголовка.
  2. Открыть настройки
  3. Щелкните Сборка, Выполнение, Развертывание.
  4. Перейти к компиляции
  5. Внутри параметров виртуальной машины процесса сборки, локального для пользователя -> Добавьте эту команду -Djps.track.ap.dependencies=false
  6. Применить изменения

Версия Intellij CE: проблема Lombok 2020.3 устранена простым обновлением зависимости POM. Пример,

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

В этой версии:

  • Версия: 2020.3
  • Сборка: 203.5981.155
  • 1 декабря 2020 г.

Я получил это сообщение:

⚠ Вы не используете компилятор, поддерживаемый lombok, поэтому lombok не будет работать и был отключен


Так,

Я добавил плагин lombok в IntelliJ:

Я включил это:

Я скачал последнюю банку ломбока: https://projectlombok.org/downloads/lombok.jar

И установил вручную:

Добавьте его в настройках платформы

И теперь он отлично работает!


PS: версия моей зависимости проекта Lombok - 1.18.8, в то время как одна из загруженных плагинов, установленных jar в настройках платформы, - 1.18.16.

  • Перейти к IntelliJ | Предпочтения | Сборка, выполнение, развертывание |
  • Компилятор Найти параметры виртуальной машины процесса сборки или виртуальную машину общего процесса сборки
  • options Добавить в текст строку -Djps.track.ap.dependencies=false
  • коробка Хит сохранить

Другой причиной может быть то, что вы обновили версию ломбока и забыли обновить версию плагина ломбока:

      <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version>
    <scope>provided</scope>
</dependency>
<!-- needs to match -->
<plugin>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-maven-plugin</artifactId>
    <version>1.18.20.0</version>
<!-- [...] plugin config -->
</plugin>

добавить область, как предусмотрено<scope>provided</scope>.

Это не вызовет проблем во время компиляции

java: вы не используете компилятор, поддерживаемый lombok, поэтому lombok не будет работать и был отключен. Ваш процессор: com.sun.proxy.$Proxy27Lombok поддерживает: sun / apple javac 1.6, ECJ

Обновите свою версию lombok, добавив ниже зависимости для gradle, поскольку эта версия поддерживается обновленным Intellij 2020.3:

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

Решил это, используя конфигурацию maven-compiler-plugin и указав annotationProcessorPaths следующим образом:

Обратите внимание: у меня также есть mapstruct, отсюда и дополнительные пути.

внутри сборки / плагинов:

            <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, так как я все еще использую более старую версию весенней загрузки, которая использует 1.18.12 под капотом ...

У меня была такая же ошибка, и я решил обновить IntelliJ до версии 2021.1.1: IntelliJ IDEA 2021.1.1 (Community Edition)Build #IC-211.7142.45, построенный 30 апреля 2021 г.

В моем проекте есть ломбок в версии 1.18.16, но intellij 2020.3 отказался компилировать мой код, и приведенные выше ответы не помогли :(.

В конце концов, настройка параметров -> «сборка, выполнение, развертывание» -> компилятор -> «обработчики аннотаций» сработала :). Убедитесь, что включены флажки «обработка аннотаций» и «получение процессоров из пути к классам».

Скриншот

В моем случае у меня в проекте работал модуль зависимостей, который использовал другую версию lombok. Еще одна версия с пружинной загрузкой, если быть точнее. С его спецификацией идет еще одна версия ломбока.

В моем случае я запускал код с помощью Mapstruct и забыл скомпилировать. Когда IntelliJ собирается и пытается запуститься, отображается эта ошибка.

После запуска mvn clean install -U через приглашение Windows и нажатия кнопки «Обновить все проекты Maven» проект запускается правильно.

У меня была такая же проблема с jetbrains 2023.2. У меня был ломбок версии 1.18.22. Сначала мне нужно было объявить версию 1.18.20 устаревшей и собрать ее. После этого я пересобираю его с помощью 1.18.22 и работает как часы. Возможно, intellj не может автоматически определить разницу версий с помощью плагина Lombok... Это всего лишь подсказка, но это был единственный способ исправить это...

Каким-то образом я не мог заставить его работать независимо от того, какие параметры я пробовал в настройках. Наконец-то мне удалось заставить его работать, следуя простым инструкциям на ломбоке со страницей ecj . Я скачал lombok.jar и добавил его вShared build process VM options:

      -Djps.track.ap.dependencies=false -javaagent:/path/to/lombok/jar/lombok.jar=ECJ

Это использовало эту систему:

IntelliJ IDEA 2022.1.4 (полная версия)

Сборка ИУ-221.6008.13 от 19 июля 2022 г.

Macbook pro с M1 pro

Для себя я отключил встроенный плагин Lombok. Затем снова включил его и перезагрузил проект maven. Бумшакалака.

Ломбок 1.18.22

ИДЕЯ 2021.3 №ИУ-213.5744.223

Вам необходимо включить прилагаемый плагин.

Начиная с версии 2020.3 плагин Lombok является встроенным, вам не нужно загружать отдельный плагин (который больше не будет работать). Найдите его в установленных плагинах (не на торговой площадке ) и просто включите.

Этот плагин больше не имеет ссылки на домашнюю страницу и имеет другое описание.

Другие вопросы по тегам