Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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 如何加载测试/资源而不是主/资源?_Java_Testing_Properties_Intellij Idea - Fatal编程技术网

Java 如何加载测试/资源而不是主/资源?

Java 如何加载测试/资源而不是主/资源?,java,testing,properties,intellij-idea,Java,Testing,Properties,Intellij Idea,[我在2014年7月29日问了这个问题,但在2014年7月31日,一切又开始运转,我没有做任何改变。] 在Java项目(IntelliJ)中,我标记了: src/main/java作为根源 src/test/java作为测试源根 src/main/resources作为资源根目录 src/test/resources作为测试资源根目录 我有一个文件:test/java/Test1.java 我试图加载src/test/resources中的config.properties文件,但加载的是s

[我在2014年7月29日问了这个问题,但在2014年7月31日,一切又开始运转,我没有做任何改变。]

在Java项目(IntelliJ)中,我标记了:

  • src/main/java
    作为根源
  • src/test/java
    作为测试源根
  • src/main/resources
    作为资源根目录
  • src/test/resources
    作为测试资源根目录
我有一个文件:
test/java/Test1.java

我试图加载
src/test/resources
中的
config.properties
文件,但加载的是
src/main/resources
中的
config.properties
。我有过其他项目,测试资源文件加载正确。我不知道为什么在这个项目中我没有做到这一点。我在项目的其他地方确实有一个
PropertiesUtil.loadProperties
静态方法,它可以执行以下操作:

String filename = "config.properties";
input = PropertiesUtil.class.getClassLoader().getResourceAsStream(filename);

这就是为什么我没有得到正确的
config.properties
文件的原因吗?如何加载测试
config.properties

您可以使用getResource(文件名)进行尝试吗;我建议重命名test config.properties,并在运行时选择正确的文件。默认情况下,测试资源放在类路径的第一位,因此应该引用它们,而不是引用主资源。你有一个不同的问题,那就是破坏事物的自然秩序。你能发布你的pom吗?这个项目没有pom,我决定试试gradle,所以我没有pom。我同意,我认为这应该按原样进行。今天一切都很好,我没有改变任何事情。