У меня есть многомодульный проект Maven. Модуль приемочные испытания зависит от модуля api в pom. xml (Замена реального названия компании на xxx для сохранения конфиденциальности). Я пытаюсь импортировать некоторые классы из api модуля в моих приемочных тестах .
Вот моя pom. xml зависимость приемочные испытания * модуль 1020 *:
<dependency>
<artifactId>xxx-api</artifactId>
<groupId>com.xxx</groupId>
<version>${xxx.api.version}</version>
</dependency>
Модуль api отдельно устанавливается и упаковывается ( mvn install , mvn package ) Maven без каких-либо проблем. Файл jar создается в моем локальном .m2 .
Однако, когда я пытаюсь скомпилировать модуль приемочных испытаний , я получить ошибку компиляции, говорящую, что классы не могут быть импортированы, потому что пакет не найден.
Вот фактическая ошибка:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project xxx-acceptance-tests: Compilation failure: Compilation failure:
[ERROR] /Users/andranik_chorokhyan/mydisk/Projects/XXX/automation/xxx-project-test-automation/xxx-acceptance-tests/src/main/java/com/xxx/xxx/utilities/api/ApiPayloadUtils.java:[17,38] package com.xxx.domain.dto does not exist
[ERROR] /Users/andranik_chorokhyan/mydisk/Projects/XXX/automation/xxx-project-test-automation/xxx-acceptance-tests/src/main/java/com/xxx/xxx/utilities/api/ApiPayloadUtils.java:[18,38] package com.xxx.domain.dto does not exist
[ERROR] symbol: class MappingData
[ERROR] location: class com.xxx.utilities.api.ApiPayloadUtils
Еще один интересный факт заключается в том, что ошибки нет видна в Intellij IDEA. Нет красного подчеркивания, нет ошибки компиляции, нет проблем с переходом к соответствующему импортированному файлу. И на самом деле пакет com.xxx.domain.dto существует, а также класс MappingData .
Я удалил целое xxx из моего локального .m2 хранилища и выполнил команду mvn clean dependency:resolve
. Это также удалось.
Кто-нибудь знает, в чем здесь проблема и как ее можно решить? Заранее спасибо!