#java #maven #intellij-idea #maven-plugin #maven-compiler-plugin
#java #maven #intellij-idea #maven-плагин #maven-compiler-плагин
Вопрос:
Я пытался сделать: mvn clean install
в проекте, который зависит от внешнего jar, но получил:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:testCompile (default-testCompile) on project automation-service: Compilation failure: Compilation failure:
[ERROR] /C:/Checkouts/Release-4.0/test-service-intelligence/service-automation-service/src/test/java/com/company/automation/steps/BasicsSteps.java:[16,53] package com.company.service.automation.databaseaccess does not exist
/C:/Checkouts/Release-4.0/test-service-intelligence/service-automation-service/src/test/java/com/company/automation/steps/BasicsSteps.java:[43,13] cannot find symbol
[ERROR] symbol: class IdentifierIndexRepository
и, как ни странно, это было успешно выполнено на MAC моих коллег (хотя он использует совершенно другую среду разработки, инструменты и прочее. Например, он использует X-Code IDE, ZULU 8 JDK, Maven 3.5). Сначала я подумал, что это проблема с JDK, и переключил JDK на тот же, что и у него: ZULU 8, затем я попробовал его версию Apache Maven и понизил рейтинг с 3.6 до 3.5. И, наконец, я от отчаяния переключился с Intelij Idea на Eclipse -> мне ничего не помогает.
Кажется, что отсутствующий пакет взят из банка внешних зависимостей, который успешно предоставлен — я вижу его во внешних библиотеках, также нет признаков неразрешенных зависимостей перед попыткой mvn clean install
( mvn clean compile
пройти успешно)
зависимость в POM объявляется следующим образом:
<dependency>
<groupId>com.company.da.fid.resolve</groupId>
<artifactId>automation-database-access</artifactId>
<version>1.0-SNAPSHOT</version>
<classifier>jar-with-dependencies</classifier>
</dependency>
и maven-compiler-плагин, подобный этому:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
Файл dependency .jar состоит из его собственных зависимостей в нем.
У кого-нибудь есть идея или подсказка, что может случиться со мной?
Заранее спасибо.
Комментарии:
1.
jar-with-dependencies
Обычно не рекомендуется использовать зависимость as.2. @JFabianMeier, пожалуйста, посоветуйте, какие у меня есть другие варианты, кроме jar-with-dependencies? Я горю желанием переделать this .jar, если это необходимо.
3. Обычно
jar-with-dependencies
используется, если вы хотите запустить JAR из командной строки (исполняемый файл JAR, fat JAR). Для зависимости вы просто берете «обычную» банку. Maven автоматически разрешает транзитивные зависимости, поэтому вам нет необходимости упаковывать все зависимости в один JAR.4. @AngelElenkov какое-нибудь решение, пожалуйста? Я сталкиваюсь с той же проблемой.
Ответ №1:
Из журнала ошибок видно, что вам не хватает зависимости com.company...
. И мне кажется, что вы используете пользовательскую библиотеку. Если у вас есть исходный код, выполните clean install
из библиотеки, а затем в основном проекте.
Это может произойти, если у вас есть поврежденный пакет (зависимости) локально. Чтобы проверить это, перейдите в папку .m2 и убедитесь, что она у вас есть, если да, удалите и попробуйте запустить clean install
снова.
Комментарии:
1. Зависимость представляет собой пользовательскую библиотеку (файл jar), она правильно расположена в моем локальном репозитории m2 и успешно загружается оттуда. Я много раз пытался удалить и переустановить, но, увы, безуспешно.
2. @AngelElenkov какое-нибудь решение, пожалуйста? Я сталкиваюсь с той же проблемой.