Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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 为什么idea和eclipse中的ContextConfiguration位置不同_Java_Unit Testing_Intellij Idea - Fatal编程技术网

Java 为什么idea和eclipse中的ContextConfiguration位置不同

Java 为什么idea和eclipse中的ContextConfiguration位置不同,java,unit-testing,intellij-idea,Java,Unit Testing,Intellij Idea,在我的团队中,我们在Eclipse和Idea中工作。 除了一个我不知道如何解决的小问题外,这个方法非常有效。 在我们的测试中设置ContextConfiguration位置并在Eclipse中运行它们时,一切都像一个符咒: @Test(groups = { "database" }) @ContextConfiguration(locations = {" file:src/main/webapp/WEB-INF/applicationContext.xml" }) 但在我的Idea env中

在我的团队中,我们在Eclipse和Idea中工作。 除了一个我不知道如何解决的小问题外,这个方法非常有效。 在我们的测试中设置ContextConfiguration位置并在Eclipse中运行它们时,一切都像一个符咒:

@Test(groups = { "database" })
@ContextConfiguration(locations = {" file:src/main/webapp/WEB-INF/applicationContext.xml" })
但在我的Idea env中,我得到了“找不到applicationContext”错误。我需要 如下所示设置位置(项目名称为“服务”):

项目结构如下: parent.pom有两个子pom:services.pom和other.pom。从服务项目在终端中运行测试时,如下所示:

mvn -Dtest=com.mytest.service.somepackage.TheTest test 
没有问题。我想,由于我的项目结构是有两个孩子的父项目,所以需要/服务(项目是通过指出父项目管理器创建的)。有办法解决这个问题吗?你能帮我一个解决办法吗。
thx

使用相对于当前工作目录的路径。Eclipse和Idea使用不同的目录。尝试使用类路径位置:

@ContextConfiguration(locations = {" classpath:/WEB-INF/applicationContext.xml" })

但我不确定您的类路径配置。通常,
src/main/webapp
将被复制到目标webapp目录。可能您需要将其配置为包含目标webapp目录。

Cool此操作需要修改,必须在我的pom中添加以下内容才能找到上下文:src/main/webapp/WEB-INF*.xml WEB.xml
@ContextConfiguration(locations = {" classpath:/WEB-INF/applicationContext.xml" })