【问题标题】:Read property file placed inside in package under src/test/resource in maven读取 maven 中 src/test/resource 下包中的属性文件
【发布时间】:2017-07-05 02:50:14
【问题描述】:

我的maven结构如下:

已将属性文件放置在 src/test/resources 下的包内 我试图从 src/test/java 下的 java 类(浏览器测试)中读取

我正在使用下面的代码来准备文件,但是得到 NullPointerException。

public Static Properties CONFIG 
CONFIG = new Properties();
InputStream inputStream = BrowserTest.class.getResourceAsStream(filename);
CONFIG.load(inputStream);


[31mMessage: [0m[31mjava.lang.NullPointerException
    at java.util.Properties$LineReader.readLine(Unknown Source)
    at java.util.Properties.load0(Unknown Source)
    at java.util.Properties.load(Unknown Source)

【问题讨论】:

    标签: java maven properties nullpointerexception file-handling


    【解决方案1】:

    将资源文件放在src/test/resources 树的根目录下(src/test/resources/application.properties)。然后使用static 初始化块。喜欢,

    public static Properties CONFIG = new Properties();
    static {
        try {
            CONFIG.load(BrowserTest.class.getResourceAsStream(
                    "application.properties"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    

    【讨论】:

      【解决方案2】:

      您收到 NullPointerException 是因为 BrowserTest.javaapplication.properties 位于不同的包中。

      要么

      1. application.propertiescom.philips.rs.properties移动到com.philips.rs.utils并直接读取。

        String filename = "application.properties";
        InputStream inputStream = BrowserTest.class.getResourceAsStream(filename);
        CONFIG.load(inputStream);
        
      2. 或者把filename改成"/com/philips/rs/properties/application.properties"

        String filename = "/com/philips/rs/properties/application.properties";
        InputStream inputStream = BrowserTest.class.getResourceAsStream(filename);
        CONFIG.load(inputStream);
        

      更好的解释可以从https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#getResourceAsStream-java.lang.String-找到

      【讨论】:

        猜你喜欢
        • 2018-05-13
        • 1970-01-01
        • 2013-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-10
        • 2013-01-21
        • 2011-10-31
        相关资源
        最近更新 更多