我有一個Eclipse Web項目。我在根目錄下有一個名爲deploy.properties的文件,它似乎沒有被讀取。我有一種感覺,我可能需要將文件添加到「構建路徑」(如jar),但這只是一個猜測,當我嘗試這樣做時,沒有將文件添加到構建路徑的選項,以至於讓我覺得我錯了。Eclipse不會讀取配置文件
線89是這樣的一個props.load(stream);
我的堆棧跟蹤看起來是這樣的:
java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:365)
at java.util.Properties.load(Properties.java:293)
at sempedia.dao.Dao.getConfigFile(Dao.java:89)
at sempedia.dao.Dao.<clinit>(Dao.java:17) 89
和類看起來是這樣的:
public class Dao {
private static final String configFileLocation = "/deploy.properties";
private static final Properties configFile = getConfigFile(configFileLocation);
private static final String host = configFile.getProperty("mysql.host");
private static final String port = configFile.getProperty("mysql.port");
private static final String db = configFile.getProperty("mysql.db");
private static final String user = configFile.getProperty("mysql.user");
private static final String pwd = configFile.getProperty("mysql.pwd");
public static String getHost() { return host; }
public static String getPort() { return port; }
public static String getDb() { return db; }
public static String getUser() { return user; }
public static String getPwd() { return pwd; }
public static Connection getCon() {
Connection con = null;
try {
String url = "jdbc:mysql://" + host + ":" + port + "/" + db;
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(url, user, pwd);
} catch (SQLException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return con;
}
private static Properties getConfigFile(String fileName) {
Properties props = new Properties();
try {
InputStream stream = Dao.class.getResourceAsStream(fileName);
props.load(stream);
} catch (IOException e) {
System.err.println("Error opening configuration file");
System.exit(1);
}
return props;
}
}
令人毛骨悚然。看起來你正在做一些與我目前在工作中非常相似的東西。 :) – Neil 2011-05-16 07:49:36
@尼爾...這是一個小世界:) – Ankur 2011-05-16 07:56:37