Я использую кислородное затмение (выпуск 4.7.3a) с плагином maven m2e (1.8.3.20180227) и Java 8 (jdk1.8.0_172)
Обновлено затмение до версии: 2019-03 (4.11.0), m2e 1.11.0.20190220-2119, версия Java без изменений.
Такое же поведение сохраняется.
У меня есть проект с модулем.
Модуль имеет /src/main/java
и src/test/java
Зависимость junit
является областью тестирования.
Когда я запускаю maven install, я получаю ошибки при компиляции
[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins: maven-compiler-plugin: 3.7.0: скомпилировать (default-compile) для чего-то проекта: Ошибка компиляции: Ошибка компиляции:
[ОШИБКА] /C:/Users/me/git/base/module/src/test/java/com/company/redacted/db/IsAdminQueryTest.java:[3,24] пакета org.junit не существует
Если я изменяю область действия junit
на значение по умолчанию, он компилируется и работает нормально.
Возможно связанный симптом Если я запускаю Maven -> Update Project
, я получаю ошибку:
Невозможно вложить 'module / src / main / resources' внутри 'module / src /'.
Чтобы включить вложение, исключите 'main /' из 'module / src /'
Однако module/src
не является исходной папкой Java.
из журнала maven на этапе компиляции при запуске с -e -X
.
Обратите внимание на тест в пути
[DEBUG] Обнаружен устаревший источник: C: \ Users \ me \ git \ base \ module \ src \ main \ java \ com \ company \ redacted \ db \ IsAdminQuery.java
[DEBUG] Обнаружен устаревший источник: C: \ Users \ ms \ git \ base \ module \ src \ test \ java \ com \ company \ redacted \ db \ IsAdminQueryTest.java
Где искать плохой конфиг?
Обновление после обновления
Я изменил область действия junit и mockito на global, чтобы обойти эту проблему. Когда я вернул их обратно в область действия: в тестовом примере начались проблемы с зависимостями / невозможность компиляции. Очевидно, что eclipse / maven не знает, что мои тестовые классы являются тестовыми.
Я установил maven прямо на моем компьютере. Запуск mvn install из командной строки имеет те же проблемы, что и запуск в eclipse.