2012-05-07 76 views
0
public xFbConfigReader() 
{ 

    //props = new Properties(); 
    propsdatabase = new Properties(); 

    try 
    { 
     // load a properties file 
     InputStream dbin = getClass().getResourceAsStream("/properties/database.properties"); 


     propsdatabase.load(dbin); 

    } 
    catch (IOException ex) 
    { 
     ex.printStackTrace(); 
    } 

} 

我保留我的屬性文件名爲'Database.properties'的項目名爲'Properties'的文件夾中。如何使用Eclipse「使用Eclipse導出jar包選項」來構建jar包含屬性文件

當我在Eclipse中做一個導出爲jar。屬性文件夾是可見的。

You can see the properties folder

但是當我運行它,它表明,在DBIN零點例外。

所以這意味着我需要正確的方式來在Eclipse中形成一個jar。很好的建議。

+0

http://stackoverflow.com/questions/423938/java-export-to-an-jar-file-in-eclipse – 2012-05-07 05:08:12

+0

嘗試從「/properties/database.properties」中刪除前導「/」。檢查程序執行的路徑。 –

+0

嘗試neatbean IDE它是一個很好的工具,用於java開發人員 –

回答

1

更好的解決方案,同時處理性能文件將被讀取

static Properties databaseproperties= new Properties(); 
    static { 
     try { 
      connectionProps.load(YourClassName.class.getClassLoader() 
        .getResourceAsStream("databaseproperties.properties")); 
     } catch (Exception e) { 
      System.out.println("Exception is " + e.getMessage()); 
     } 
    } 

這是更好的計算策略,因爲

  • 我們可以將我們的屬性文件夾某些其它。
  • 事實上,我們可以將屬性文件夾放在jar外面。假設您可以創建一個名爲Configuration的文件夾 ,您可以在其中包含所有 屬性文件。由於它位於jar外側,因此您可以在需要時更改 屬性文件。
  • 對於更改屬性 文件不需要unjar它。

(OR)只是可以讓這個變化沒有必要去想目錄結構

  1. 第1步:移動屬性文件SRC
  2. 第2步:改變這一行 如下

    InputStream dbin = getClass()。getResourceAsStream(「/ database.properties」);

這和以前的代碼沒什麼太大的區別,因爲它反正停留在JAR文件中。

0

你得到空指針異常,因爲屬性文件未加載嘗試使用 的FileInputStream如下 的FileInputStream DBIN =新的FileInputStream(「/屬性/ database.properties」)來加載性能; properties.load(dbin);

+0

是的,我知道這個。但是,如果你在Image附件中觀察,顯示提取的jar文件的樹結構。雖然您可以看到屬性文件夾存在,但該文件並未加載。 – Meenakshi

相關問題