«Тип Long не виден» в Eclipse с JDK Compliance 9 и 10 - PullRequest
0 голосов
/ 27 декабря 2018

Используя приведенный ниже код, я получаю сообщение об ошибке Eclipse, когда набираю «Тип Long is not visible» (без дополнительной информации) на o.get().

У меня установлена ​​последняя версия JDK (Java)11.0.1 "2018-10-16, и используется в Eclipse 2018-09 (4.9.0)), и ошибка возникает только тогда, когда у меня установлено соответствие JDK проекта 9 или 10. Этого не происходит, если соответствие JDKустановите значение 1,8 или ниже.

import java.util.Optional;

public class TestLongNotVisible {

    Optional<Long> o;

    void a() {
        long x = o.get();
    }

}

Я ищу исправление для этой проблемы.Если кто-то имеет опыт решения этой проблемы или знает наиболее вероятную причину, заранее спасибо!

1 Ответ

0 голосов
/ 27 декабря 2018

Мои проекты по умолчанию настроены как проекты Maven с несколькими зависимостями.Зависимость Lombok приводит к возникновению этой проблемы, поскольку она внедряет код перед компиляцией.Без зависимости Lombok все работает как задумано.Проблема возникает для любого проекта с Lombok в качестве зависимости, даже когда никакие функции Lombok не используются.

Lombok НЕ поддерживает JDK 10 или выше.

Если у вас возникла эта проблема, илиАналогичная проблема с ошибками, которые должны быть невозможны (например, тип Long невидим), проверьте ваши настройки на наличие возможных несовместимых с компилятором возможных инжекторов кода, таких как Lombok.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...