2014-02-05 50 views
0

我想從maven資源目錄(src/main/resouces)的屬性文件中讀取。 屬性文件的路徑被稱爲:src/main/resouces/jsfatwork/messages獲取maven資源目錄中的properties文件的路徑src/main/resouces

該文件名爲test.properties。 我使用JSF 2.2時,Eclipse,Java的Web項目 web應用程序運行在一個Tomcat 7

我在Maven pom.xml文件中寫:

<resources> 
    <resource> 
    <directory>${basedir}/src/main/resouces/jsfatwork/messages</directory> 
     <include>**/test.properties</include> 
    </resource> 
</resources> 

而且在我的java文件中寫: 屬性道具= new Properties();

Properties properties = new Properties(); 
try { 
//load a properties file 
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("test.properties"));   
     } catch(Exception e) { 
      } 

但它沒有找到propertie文件。 我可以讀出路徑如何在Thread.currentThread().getContextClassLoader().getResourceAsStream找到?

+0

你是什麼意思你沒有找到屬性文件? 它是不是複製到你期望的地方,或者當你在java中加載它時沒有找到它? –

+0

當我想從屬性文件中讀取密鑰。 – marius0114

+0

注意錯字:「資源」。它應該是「資源」。默認情況下,Maven會將'$ {basedir}/src/main/resources'中的文件複製到生成的Jar文件中。通過修復這個錯字,整個''塊可以從pom.xml文件中刪除。 –

回答

1

儘量不使用

properties.load(ThisClass.class.getResourceAsStream("/jsfatwork/messages/test.properties")); 
+0

謝謝。這行得通!你能告訴我爲什麼做這項工作嗎? – marius0114

+0

我刪除了pom.xml中的寫入,它仍然有效。 – marius0114

+0

http://maven.apache.org/plugins/maven-resources-plugin/examples/resource-directory.html –