Maven / Eclipse пытается скомпилировать тесты с основным кодом - PullRequest
0 голосов
/ 21 мая 2019

Я использую кислородное затмение (выпуск 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.

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Я был чем-то вроде идиота. Я не уверен, как это произошло (возможно, ошибка копирования вставки) но я установил исходный каталог в разделе сборки моего pom.xml. Удаление этого решило все мои проблемы.

Спасибо всем, кто сделал предложения, особенно @Sambit.

  <build>
    **<sourceDirectory>src</sourceDirectory>**
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
0 голосов
/ 22 мая 2019

В случае проекта maven вы можете выполнить следующие действия.

  • В проекте, основанном на maven, перед настройкой проекта перейдите в командную строку и выполните команду mvn clean install или mven clean package.
  • В случае Eclipse я предлагаю использовать последнюю версию Eclipse.Для существующего проекта Maven используйте в качестве проекта импорта Maven в Eclipse.Вам нужно перейти в File Menu> Import> Existing Maven project.
  • Проект в eclipse может занять некоторое время в зависимости от количества зависимостей.Через некоторое время вы должны нажать ALT + F5, выбрав проект.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...