TransWikia.com

Lombok под Eclipse

Stack Overflow на русском Asked on January 15, 2021

Пытаюсь подключить Lombok к своему проекту в Eclipse, в pom.xml прописал зависимости:

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

На класс ставлю аннотацию:

@Slf4j

Подключается

import lombok.extern.slf4j.Slf4j;

но при попытке прописать:

log.error("…  exception");

Ругается, что нет такой переменной log.
Я так понимаю, что плагин ставить для этого не обязательно, он только позволяет увидеть то, что скрывает Lombok, или я не прав?
Плагин установить не могу, т.к. на работе политика безопасноcти не дает скачивать jar-файлы

2 Answers

Плагин нужен обязательно.

Он внедряется во встроенный процесс компиляции, который используется не только для компиляции, но в том числе и для проверки синтаксиса.

Без плагина из eclipse можно собирать и запускать только через maven/gradle (т.е. в обход компилятора eclipse), так как и maven и gradle, по сути, запускаются как внешние утилиты. Отладчик, скорее всего тоже не удасться запустить, хотя можно попробовать через remote java application (при этом ругаться на синтаксические ошибки будет все равно). Тесты JUnit встроенными средствами тоже нельзя будет запустить.

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

У меня на macos он находится по пути ~/.m2/repository/org/projectlombok/lombok/1.18.12/lombok-1.18.12.jar. Запустить инсталяцию можно прямо оттуда:

java -jar ~/.m2/repository/org/projectlombok/lombok/1.18.12/lombok-1.18.12.jar

Answered by Roman Konoval on January 15, 2021

Добавьте

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.30</version>
            </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.13.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.13.3</version>
        </dependency>

Answered by AlekseiGaile on January 15, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP