2014-01-16 46 views
2

我有一個使用屬性文件的eclipse項目。該文件位於項目的根目錄中。我希望能夠運行使用cmd在eclipse中生成的.class文件(在Windows中)。運行jar文件/ .class文件以及屬性文件

我用這個代碼從文件中獲取屬性:

Properties prop = new Properties(); 
FileInputStream fileStream = new FileInputStream("DBConfig.properties"); 
prop.load(fileStream); 

但是當我運行的.class文件我得到這個錯誤:

couldn't read property file...

我怎樣才能做到這一點?

我也看到類似這樣的帖子,但他需要覆蓋系統屬性,我不這樣做:Execute a jar with an external properties file

+2

將屬性文件在您的.class文件駐留 – Keerthivasan

+0

試過沒有幫助 –

回答

2

放在你的classpath屬性文件,並讀取它作爲一種資源。

如果您需要提供外部配置(例如,可通過編輯文本文件進行更改),請使用命令行參數或系統參數(例如-Dconfig=/a/full/path)來定位文件。

+0

感謝ü它的工作,但我不得不搬到屬性文件進入src文件夾,根沒有工作 –

+0

@saeedhardan因爲如果您將它用作資源,它需要位於類路徑中。 –

1

嘗試通過性文件作爲參數類似下面

java -jar <jar name> -DDBConfig.properties=<Path> 

和代碼將會像

FileInputStream fileStream = new FileInputStream(System.getProperty("DBConfig.properties")); 
+0

我得到現在空指針異常 –