有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Eclipse中指定测试类路径

我有一个具有以下目录结构的Eclipse项目:

MyProj
    >> src/main/java
    >> src/main/config
    >> src/test/java
    >> src/test/config

src/test/config内部,我有一个名为app.properties的属性文件,其中充满了src/main/javasrc/test/java中的类都使用的属性

我用来查找属性文件的所有代码如下所示:

try {
    Properties props = new Properties();

    props.load(new FileInputStream("app.properties"));

    someString = props.getProperty("app.title.color");
    // etc.
} catch(Exception exc) {
    // Handle exception...
}

然而,当我运行这个程序时,我得到了以下错误(在上面的catch子句中处理):

java.io.FileNotFoundException: app.properties (The system cannot find the file specified)

但是,当我将app.properties文件移动到我的项目根目录(与src/main/java处于相同的级别)并重新运行代码时,效果非常好

显然,这是一个类路径问题。如果我转到Build Path >> Configure Build Path >> Source,我会看到src/test/config实际上是构建路径上的一个源文件夹。这可能并不意味着它也在类路径上

如何配置Eclipse在类路径上查找src/test/config,这样我就可以将属性文件放在其中,但在运行时(当我运行单元测试时)它仍然可用

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    文件夹被合并,但您必须以不同的方式访问属性文件,作为相对于类的资源:

        InputStream is = YourClassName.class.getResourceAsStream("/app.properties");
    

    注意前面的“/”