Java 如何加载测试/资源而不是主/资源?
[我在2014年7月29日问了这个问题,但在2014年7月31日,一切又开始运转,我没有做任何改变。] 在Java项目(IntelliJ)中,我标记了: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
作为根源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。我同意,我认为这应该按原样进行。今天一切都很好,我没有改变任何事情。