Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
Spring无法从不同模块的测试包导入应用程序上下文_Spring_Testing_Import_Applicationcontext - Fatal编程技术网

Spring无法从不同模块的测试包导入应用程序上下文

Spring无法从不同模块的测试包导入应用程序上下文,spring,testing,import,applicationcontext,Spring,Testing,Import,Applicationcontext,我有一个Java应用程序,它由两个模块组成,ModuleA和ModuleB 在ModuleB的测试上下文applicationContextB-test.xml(见下文)中,我尝试从ModuleA的测试上下文applicationContextA-test.xml导入bean,如下所示: <import resource="classpath*:applicationContextA-test.xml"/> 测试源和资源仅在本地可用,它们不是生成的jar文件的一部分,因此对其他项

我有一个Java应用程序,它由两个模块组成,ModuleA和ModuleB

在ModuleB的测试上下文applicationContextB-test.xml(见下文)中,我尝试从ModuleA的测试上下文applicationContextA-test.xml导入bean,如下所示:

<import resource="classpath*:applicationContextA-test.xml"/>


测试源和资源仅在本地可用,它们不是生成的jar文件的一部分,因此对其他项目不可用。此限制也适用于同一工作区中的项目。测试中的所有内容仅对其中定义的模块可见。谢谢。这就把事情弄清楚了。现在我将把A的测试配置复制到ModuleB。我想知道如何避免在使用多个子模块时复制应用程序配置。如何将测试上下文放在ModuleA的普通源文件夹中,以便从其他模块中引用它进行测试,并将其从Maven的构建中排除?只需在Maven中创建一个单独的子模块(例如测试基础设施),将资源放在那里,并将该模块作为其他模块中的测试依赖项引用。顺便说一句,您的资源应该位于
src/main/resources
,而不是
src/main/java/resources
。听起来像是一个计划。谢谢资源文件夹在我的项目中的正确位置。我编辑了我最初的帖子来反映这一点。
/ModuleA
    /src/main/resources/
         - applicationContextA.xml
    /src/test/resources/
        - applicationContextA-test.xml

pom.xml
/ModuleB
    /src/main/resources/
         - applicationContextB.xml
    /src/test/resources/
        - applicationContextB-test.xml
pom.xml