Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解决Maven依赖关系_Java_Mongodb_Maven_Dependencies - Fatal编程技术网

Java 如何解决Maven依赖关系

Java 如何解决Maven依赖关系,java,mongodb,maven,dependencies,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

我想使用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/mongojava- 驱动程序-3.3.0.jar


要强制maven使用版本
3.8.0
,您应该直接在您的pom中明确声明对
org.mongodb:bson:3.8.0
的依赖关系

此直接依赖项将取代作为传递依赖项包含的其他版本


或者,您需要为所有拉取版本
3.3.0

的依赖项添加
org.mongodb:bson的排除项。我还显式声明了对pom文件的依赖项。但它仍然不是work@TatHuan不可能。请张贴您的pom文件的实际内容,因为不应该是这样。对不起,这是一个私人项目。所以我不能发布所有的依赖项。当我打印Bson lib的路径时,我得到了结果:当我在IDE中运行时:../org/mongodb/Bson/3.8.0/Bson-3.8.0.jar当我在使用mvn命令构建之后运行时:../app/lib/mongo java-driver-3.3.0.jar在这种情况下,没有办法判断。据我所知,在此pom中直接声明依赖项将覆盖可传递依赖项。您可以尝试
mvn dependency:tree
查看它的来源。但也有可能是包装或其他方面的问题。这是一件
war
artifact吗?谢谢@ermest_k我会重新检查的