2008-11-19 72 views
9

我正在開發一個Java桌面應用程序,並希望有一個外部配置文件。
我正在開發使用Netbeans的應用程序,並試圖在dist目錄中添加configuration.xml文件,以便它駐留在應用程序工作文件夾中。但是,當Netbeans執行清理操作時,它將刪除dist目錄,
我應該在哪裏放置這個configuration.xml文件,以便它不會被刪除並存在於應用程序啓動目錄中。Netbeans和外部配置文件

回答

13

您可以添加到您的build.xml:

<target name="-post-jar"> 
    <copy todir="${dist.jar.dir}"> 
     <fileset dir="resources" includes="**"/> 
    </copy>   
</target> 

現在,您可以把該文件夾「資源」(你需要創建)在你的項目中的configuration.xml配置文件,並在所有文件它將在構建過程中被複制到dist文件夾中。

1

我能夠得到這個工作,但我不能得到-post-jar觸發器,沒有明確地將它作爲主構建配置中的依賴項輸入。這是Netbeans 7.0.1中的一個富客戶端項目。

相反,在build.xml中的,我希望能有外部資源文件(主要是.txt文件,用戶可能會在以後編輯)Netbeans的模塊,我進入了以下內容:

<target name="netbeans-extra"> 
     <echo>Copying resources files to build cluster directory...</echo> 
     <mkdir dir="${cluster}/resources"/> 
     <copy todir="${cluster}/resources"> 
     <fileset dir="resources" includes="**"/> 
     </copy> 
    </target> 

然後我在模塊的頂層目錄(與src,release,build一起)中創建一個名爲'resources'的新目錄,並將我的.txt文件放在那裏。

當您在此模塊上進行構建時,netbeans-extra將作爲依賴項調用,並在主項目build/cluster目錄中執行「resources」文件夾的創建,然後複製項目的內容資源目錄。

最終,當你爲你的項目建立一個發行版時,你會發現資源目錄放置在你的項目模塊目錄的旁邊,使得並排排列更加和諧。

1

正確的代碼...

<target name="-pre-jar"> 
    <echo>Copying resources files to build directory...</echo> 
    <mkdir dir="${dist.jar.dir}/resources"/> 
    <copy todir="${dist.jar.dir}/resources"> 
     <fileset dir="resources" includes="**"/> 
    </copy> 
</target> 

主build.xml文件(不是nbproject文件\ build-impl.xml中)加入此。您也可以將「-pre-jar」替換爲「-post-jar」