2008-11-19 87 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”