有 Java 编程相关的问题?

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

无法在Eclipse for Java的动态web项目中加载属性文件

我已将属性文件放在动态web项目的Webcontent文件夹中。但是,它抛出空指针异常。这是我的密码

    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    InputStream input = classLoader.getResourceAsStream("Resources.properties");
    System.out.println(input);
    Properties properties = new Properties();       
    properties.load(input);     
    System.out.println("MySQL Driver :"+properties.getProperty("mysqlDriver"));

我的属性文件包括

mysqlDriver = com.mysql.jdbc.Driver

我在InputStream input=classLoader处遇到错误。getResourceAsStream(“Resources.properties”)

错误是

Feb 09, 2016 2:58:50 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [DatabaseAccess] in context with path  [/iNTU] threw exception
java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Unknown Source)
at java.util.Properties.load0(Unknown Source)

共 (1) 个答案

  1. # 1 楼答案

    将“Resources.properties”文件放在动态web项目的“src”文件夹中(右键单击名为“MyResources.properties”的Jara Resources/src>;new>;general>;文件来创建它)。 然后,读取属性文件的代码应更新为:

    InputStream input = classLoader.getResourceAsStream("/Resources.properties");
    //If you use a subfolder of src, please update accordingly.
    

    这样,Eclipse就知道如何将编译后的文件与属性文件一起部署到war的WEB-INF/类中