Maven依赖项在一个项目中可用,但在另一个项目中不可用

时间:2018-08-27 23:39:53

标签: java maven-3

我有两个使用相同pom文件的项目(一个项目是第二个项目的早期版本)。第二个项目可以正常编译,并允许我在项目中使用pom中定义的所有依赖项。但是,第一个项目没有,并且似乎该项目甚至没有识别依赖项。

我查看了我的本地.m2文件夹,发现依赖项已下载到其各自的文件夹中。我什至看到mvn install输出说它已经包含了依赖关系,例如:

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文件的内容,但看不到两个项目之间的任何区别。

我确信我的项目有问题,但我不是行家。关于在哪里寻找问题的想法?

下面是一个无法识别的依赖项的示例:

<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命令时也没有看到错误。 :)与maven / java(C :)相比。

有什么想法吗?

0 个答案:

没有答案