Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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/2/spring/14.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 如何在junit测试类中使用pom.xml属性_Java_Spring_Maven_Junit_Junit4 - Fatal编程技术网

Java 如何在junit测试类中使用pom.xml属性

Java 如何在junit测试类中使用pom.xml属性,java,spring,maven,junit,junit4,Java,Spring,Maven,Junit,Junit4,我在pom.xml中声明了一个属性 <PROPERTY_KEY>d:/../.../abc.properties</PROPERTY_KEY> 然后用 <plugin> <configuration> <replacements> <replacement> <token>APP_PROPERTY</token>

我在pom.xml中声明了一个属性

<PROPERTY_KEY>d:/../.../abc.properties</PROPERTY_KEY>
然后用

<plugin>
    <configuration>
        <replacements>
            <replacement>
                <token>APP_PROPERTY</token>
                <value>${PROPERTY_KEY}</value>
                ....
</plugin>
并在我的dispatcher-servlet.xml和控制器类中使用了APP_属性。它工作正常,因为在本例中,控制通过web.xml实现,而这个web.xml有一个用于dispatcher-servlet.xml的条目。 但是当我想在我的JUnit测试类中使用相同的APP_属性时,它并没有得到解决。 我必须创建一个新的dispatcher-servlet-test.xml文件,并将其放在/src/main/resources文件夹下,因为我的实际dispatcher-servlet.xml无法从JUnit测试类工作。现在,我的JUnit测试类能够选择dispatcher-servlet-test.xml。但是,它无法解析我在pom.xml中定义的属性APP_属性。 我正在测试类中使用SpringJUnit4ClassRunner.class。
如何解决这些属性?

测试资源需要位于src/test/Resources下,您应该将dispatcher-servlet-test.xml移到那里。一旦移动,它很可能不会作为资源进行过滤,您想要的节如下所示:

<build>
<resources>
  <resource>
    <directory>src/test/resources</directory>
    <filtering>true</filtering>
    <includes>
      <include>**/dispatcher-servlet-test.xml</include>
    </includes>
  </resource>
您的POM中可能已经有一个类似的节,或者如果您正在处理一个更大的项目,那么父POM.xml可能会有一个节声明:

<filtering>true</filtering>

嗨,不知什么原因,它不适合我。我试过你的建议。我的dispatcher-servlet-test.xml包含以下行:,我的pom.xml有一个您建议的条目。