如何解决Maven依赖性

时间:2018-08-21 15:21:16

标签: java mongodb maven dependencies

我想使用版本mongodb:bson:3.8.0

当我在IDE(Intellij)中运行此项目时,它使用了bson:3.8.0

但是,当我使用命令构建它时:

mvn clean install

它将与另一个版本一起运行:org.mongodb:bson:3.3.0

这是依赖关系树:

+-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  +-org.mongodb:bson:3.8.0
and
+-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  +-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    +-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      +-org.mongodb:bson:3.3.0
and
+-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  +-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    +-org.mongodb:mongodb-driver-async:3.3.0
      +-org.mongodb:bson:3.3.0
and
+-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  +-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    +-org.mongodb:mongodb-driver-async:3.3.0
      +-org.mongodb:mongodb-driver-core:3.3.0
        +-org.mongodb:bson:3.3.0

当我显示Bson lib的路径时,我得到了结果:

  • 当我在IDE中运行时: ../ org / mongodb / bson / 3.8.0 / bson-3.8.0.jar

  • 使用mvn命令构建后运行时: ../ app / lib / mongo-java- driver-3.3.0.jar

1 个答案:

答案 0 :(得分:0)

要强制Maven使用版本3.8.0,您应该直接在win pom中显式声明对org.mongodb:bson:3.8.0的依赖。

此直接依赖关系将取代作为传递性依赖关系包含的其他版本。

或者,您将需要为org.mongodb:bson的所有依赖项添加排除版本3.3.0的排除项