Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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/4/video/2.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_Maven_Maven 2 - Fatal编程技术网

Java 在Maven测试范围中运行时,如何排除所提供范围中的依赖项?

Java 在Maven测试范围中运行时,如何排除所提供范围中的依赖项?,java,maven,maven-2,Java,Maven,Maven 2,在Maven测试范围中运行时,如何排除所提供范围中的依赖项?我有一个不寻常的用例,我需要排除一个特定的实现,并在测试用例中用另一个替换它。Maven测试似乎总是包括其他作用域,但在我的例子中,我想做一些例外。如何做到这一点?有些情况下,您需要在不同的模块中运行测试。这可能就是你在这里需要的。它允许您的测试使用不同的依赖项、属性和Java版本等。在某些情况下,您需要在不同的模块中运行测试。这可能就是你在这里需要的。它允许您的测试使用不同的依赖项、属性和Java版本等。我认为,最简单的方法是为要使用

在Maven测试范围中运行时,如何排除所提供范围中的依赖项?我有一个不寻常的用例,我需要排除一个特定的实现,并在测试用例中用另一个替换它。Maven测试似乎总是包括其他作用域,但在我的例子中,我想做一些例外。如何做到这一点?

有些情况下,您需要在不同的模块中运行测试。这可能就是你在这里需要的。它允许您的测试使用不同的依赖项、属性和Java版本等。

在某些情况下,您需要在不同的模块中运行测试。这可能就是你在这里需要的。它允许您的测试使用不同的依赖项、属性和Java版本等。

我认为,最简单的方法是为要使用的每个依赖项创建2个概要文件。您可以使用提供的作用域激活eBydefault

可能是这样的:


提供依赖项
真的
[提供依赖信息]
测试依赖性
假的
[测试相关性信息]
进入测试模式时,取消激活提供的依赖项并激活另一个

mvn test -P!providedDependency,testDependency

我认为,最简单的方法是为每个要使用的依赖项创建2个概要文件。您可以使用提供的作用域激活eBydefault

可能是这样的:


提供依赖项
真的
[提供依赖信息]
测试依赖性
假的
[测试相关性信息]
进入测试模式时,取消激活提供的依赖项并激活另一个

mvn test -P!providedDependency,testDependency

听起来很奇怪。您有更多的细节吗?我正在尝试构建测试用例,但在我知道的任何存储库中都找不到旧的ebedableservlet容器。我使用的框架只允许更新的servlet容器,它作为“测试”包含在我们的依赖项中。旧的servlet版本作为“提供”包含在我们的依赖项中。当然,在类路径中混合这些元素会导致异常。因此,在Maven测试中需要从类路径中排除旧的servlet,这听起来很奇怪。您有更多的细节吗?我正在尝试构建测试用例,但在我知道的任何存储库中都找不到旧的ebedableservlet容器。我使用的框架只允许更新的servlet容器,它作为“测试”包含在我们的依赖项中。旧的servlet版本作为“提供”包含在我们的依赖项中。当然,在类路径中混合这些元素会导致异常。因此,在基于Maven test.Profile的类路径中排除旧servlet的需要似乎与m2e eclipse插件没有很好的集成。Eclipse的JUnit插件也没有集成。有没有一种方法可以在eclipse中的概要文件之间切换,并让eclipse根据概要文件中定义的内容切换库?没有这个,我无法调试代码。到目前为止,找不到比这更好的解决方案。也许我应该尝试将其分离到另一个模块中,看看是否有效。您是否尝试过在Eclipse中创建一个“运行配置-->Maven B uild”,目标为“test”,配置文件为“providedDependency,testDependency”。然后可以调试jUnit测试。基于概要文件的测试似乎无法与m2e eclipse插件很好地集成。Eclipse的JUnit插件也没有集成。有没有一种方法可以在eclipse中的概要文件之间切换,并让eclipse根据概要文件中定义的内容切换库?没有这个,我无法调试代码。到目前为止,找不到比这更好的解决方案。也许我应该尝试将其分离到另一个模块中,看看是否有效。您是否尝试过在Eclipse中创建一个“运行配置-->Maven B uild”,目标为“test”,配置文件为“providedDependency,testDependency”。然后就可以调试jUnit测试了。我想真的没有其他方法了。我相信这是我能找到的最干净的方法。我想真的没有别的办法了。我相信这是我能找到的最干净的方法。