Java 11 Eclipse находит автоматический модуль, Maven - нет - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь обновить 15-летний многомодульный проект Maven до Java 11 и модульной системы, которая была представлена ​​в Java 9. Поскольку проект построен с использованием Maven, все зависимости довольно ясны.Сначала я хочу сделать это, используя автоматические имена модулей, чтобы не вводить обновленные артефакты (если это не обязательно).

Eclipse очень полезен в этом процессе, автоматически заполняя автоматические имена модулей в module-info.java.Например:

requires dom4j;

Но если я скомпилирую с Maven, я получаю ошибки о том, что он не может найти модули Eclipse, которые были просто автозаполнены.

module-info.java:[29,18] module not found: dom4j

Я использую плагин компилятора Maven 3.7.0 (3.8.0 выдает исключение NullPointerException согласно https://jira.apache.org/jira/browse/MCOMPILER-355) Я подозреваю, что Maven устанавливает jar-файлы на пути к классам, а не на пути к модулям,но выходные данные отладки плагина компилятора не регистрируют это.

Как я могу заставить Maven правильно обрабатывать эти модули?

1 Ответ

1 голос
/ 01 июля 2019

Я столкнулся с той же проблемой.Добавление

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
        </plugin>
    </plugins>
</build>

к моей поме решило проблему для меня ...

...