Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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 在mvn repo中将eclipse指向正确的jar版本_Java_Eclipse_Maven - Fatal编程技术网

Java 在mvn repo中将eclipse指向正确的jar版本

Java 在mvn repo中将eclipse指向正确的jar版本,java,eclipse,maven,Java,Eclipse,Maven,我们的maven repo目前有两个版本的mockito,这两个版本都作为其他JAR的依赖项引入,每个版本都用于不同的子项目。我们的集成测试是一个单独的项目,它使用的版本与核心应用程序使用的单元测试不同 mockito版本更改了方法的签名,使其不可向后计算。由于每个mockito版本所依赖的JAR,我不容易将maven重新配置为每个项目只使用一个版本的mockito 当我从eclipse或命令行直接运行maven时,这不是问题,基于pom文件的每个项目都使用正确的mockito版本。然而,当我尝

我们的maven repo目前有两个版本的mockito,这两个版本都作为其他JAR的依赖项引入,每个版本都用于不同的子项目。我们的集成测试是一个单独的项目,它使用的版本与核心应用程序使用的单元测试不同

mockito版本更改了方法的签名,使其不可向后计算。由于每个mockito版本所依赖的JAR,我不容易将maven重新配置为每个项目只使用一个版本的mockito


当我从eclipse或命令行直接运行maven时,这不是问题,基于pom文件的每个项目都使用正确的mockito版本。然而,当我尝试在eclipse中运行单元测试时,我得到了一个NoSuchMethodError,这似乎是由于eclipse使用了不正确的mockito版本。有没有办法确保我的junit测试使用我想要的mockito版本,也就是pom文件中指定的版本?

在Eclipse中,转到单元测试的运行配置。这里有一个“类路径”选项卡。您应该能够在那里修改类路径以使用正确版本的jar。

在Eclipse中,转到单元测试的运行配置。这里有一个“类路径”选项卡。您应该能够在那里修改类路径,以使用正确版本的jar。

您应该做的第一件事是将mockito声明为使用它的模块的直接依赖项,而不是依赖于通过传递依赖项将其引入。Maven/Eclipse/m2e应该

根据我的经验,如果这无法解决问题,那么它可以帮助重新排序POM中的依赖项,并在项目浏览器中检查Maven dependencies容器,或者在POM编辑器中检查Dependency Hierarchy选项卡,以查看现在是否使用了正确的版本。通常,尝试将有问题的依赖项移动到依赖项列表中的第一个位置或最后一个位置可以解决问题

另一个(可能是额外的)选项是向该依赖项添加一个排除项,该依赖项使用了“错误”版本的mockito。再次检查Dependency Hierarchy选项卡以查看依赖项来自何处

最后,您应该省去自己的麻烦,并建立一个涵盖应用程序中的单元测试以及集成测试的项目范围


祝你好运;)

您应该做的第一件事是将mockito声明为使用它的模块的直接依赖项,而不是依赖于通过传递依赖项将其引入。Maven/Eclipse/m2e应该

根据我的经验,如果这无法解决问题,那么它可以帮助重新排序POM中的依赖项,并在项目浏览器中检查Maven dependencies容器,或者在POM编辑器中检查Dependency Hierarchy选项卡,以查看现在是否使用了正确的版本。通常,尝试将有问题的依赖项移动到依赖项列表中的第一个位置或最后一个位置可以解决问题

另一个(可能是额外的)选项是向该依赖项添加一个排除项,该依赖项使用了“错误”版本的mockito。再次检查Dependency Hierarchy选项卡以查看依赖项来自何处

最后,您应该省去自己的麻烦,并建立一个涵盖应用程序中的单元测试以及集成测试的项目范围


祝你好运;)

您能提供一个来自project pom.xml文件的示例吗?对mockito的依赖应该在使用它的地方有一个“测试”。这将防止您正在运行测试的项目受到其他项目使用的版本的影响。您可以提供project pom.xml文件中的示例吗?对mockito的依赖应该在使用它的地方有一个“测试”。这应该可以防止运行测试的项目受到其他项目使用的版本的影响。这对Maven管理的依赖项不起作用-它们都在一个名为“Maven dependencies”的“容器”中,不能单独更改。这对Maven管理的依赖项不起作用-它们都在“容器”称为“Maven依赖项”,不能单独更改。