У меня есть два проекта, которые используют идентичные файлы pom (один проект является более ранней версией второго). Второй проект прекрасно компилируется и позволяет мне использовать все зависимости, определенные в pom в моем проекте. Однако первый проект этого не делает, и кажется, что зависимости даже не распознаются проектом.
Я заглянул в свою локальную папку .m2 и увидел, что зависимости были загружены в соответствующие папки. Я даже вижу, что вывод mvn install
говорит о включении зависимости, например ::1004
Including com.fasterxml.jackson.core:jackson-core:jar:2.9.6 in the shaded jar.
И позже ...
com.fasterxml.jackson.core:jackson-databind:jar:2.9.6 already exists in destination.
Я пробовал mvn clean
и зависимость до сих пор не распознана. Я попытался изучить содержимое всех файлов POM в проекте, и я не вижу никакой разницы между этими двумя проектами.
Я убежден, что с моим проектом что-то не так, но я не эксперт по Maven. Есть идеи, где искать проблему?
Вот пример одной из неопознанных зависимостей:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.4</version>
<scope>compile</scope>
</dependency>
Вот мой mvn dependency:tree
выход
[INFO] SwirldsProxy:SwirldsProxy:jar:0.0.1-SNAPSHOT
[INFO] +- SwirldsPlatform:platform:jar:0.0.1-SNAPSHOT:compile
[INFO] | +- SwirldsPlatform:fc:jar:0.0.1-SNAPSHOT:compile
[INFO] | | +- SwirldsPlatform:fcfs:jar:0.0.1-SNAPSHOT:compile
[INFO] | | | +- SwirldsPlatform:fcutil:jar:0.0.1-SNAPSHOT:compile
[INFO] | | | | +- SwirldsPlatform:abcl-swirlds:jar:0.0.1-SNAPSHOT:compile
[INFO] | | | | +- org.abcl:abcl-contrib:jar:1.4.0:compile
[INFO] | | | | +- org.apache.derby:derby:jar:10.12.1.1:compile
[INFO] | | | | \- org.beanshell:bsh:jar:2.0b5:compile
[INFO] | | | \- SwirldsPlatform:fcfs-dep-fasl:jar:0.0.1-SNAPSHOT:compile
[INFO] | | +- SwirldsPlatform:fcdb:jar:0.0.1-SNAPSHOT:compile
[INFO] | | | \- SwirldsPlatform:fcdb-dep-fasl:jar:0.0.1-SNAPSHOT:compile
[INFO] | | \- junit:junit:jar:3.8.2:compile
[INFO] | +- com.offbynull.portmapper:portmapper:jar:2.0.4:compile
[INFO] | | +- org.apache.commons:commons-lang3:jar:3.4:compile
[INFO] | | +- commons-io:commons-io:jar:2.5:compile
[INFO] | | \- org.apache.commons:commons-collections4:jar:4.1:compile
[INFO] | +- org.slf4j:slf4j-nop:jar:1.7.21:compile
[INFO] | +- org.apache.logging.log4j:log4j-api:jar:2.7:compile
[INFO] | \- org.apache.logging.log4j:log4j-core:jar:2.7:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.6:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO] | \- com.fasterxml.jackson.core:jackson-core:jar:2.9.6:compile
[INFO] +- com.google.code.gson:gson:jar:2.4:compile
[INFO] +- com.rabbitmq:amqp-client:jar:4.0.2:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.7.21:compile
[INFO] \- com.github.davidmoten:flatbuffers-java:jar:1.6.0.2:compile
Apache Maven 3.5.0 Maven
Java-версия: 1.8.0_144-1-redhat
ОБНОВЛЕНИЕ 8/30/2018
Итак, я обнаружил некоторое пересекающееся поведение Местоположение моего проекта было в D: \ SomeDirectory. Я попытался переместить его в C: \ AnotherDirectory и выполнил mvn install
и bingo, зависимости теперь были доступны для моего проекта.
Я предполагаю, что это как-то связано с местом установки maven / java, однако мне кажется странным, что я не видел ошибок при попытке запуска команд maven, даже когда проект находился в другом корневом каталоге (D :) по сравнению с maven / java (C:).
Есть идеи?