9

我正在开发一个 Java 桌面应用程序,并希望有一个外部 configuration.xml。
我正在使用 Netbeans 开发应用程序,并尝试在 dist 目录中添加 configuration.xml 文件,以便它驻留在应用程序工作文件夹中。但是当 Netbeans 执行它的 clean 操作时,它会删除 dist 目录,
我应该把这个 configuration.xml 文件放在哪里,这样它就不会被删除,并且会存在于应用程序启动目录中。

4

3 回答 3

12

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

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

您现在可以将您的 configuration.xml 文件放在项目中的文件夹“resources”(您需要创建)中,并且其中的所有文件都将在构建过程中复制到 dist 文件夹中。

于 2008-11-19T09:43:32.107 回答
1

我能够让它工作,但是如果没有在主构建配置中明确输入它作为依赖项,我就无法触发 -post-jar。这是用于富客户端项目的 Netbeans 7.0.1。

相反,在我想要拥有外部资源文件(主要是用户以后可能编辑的 .txt 文件)的 Netbeans 模块的 build.xml 中,我输入了以下内容:

    <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 将作为依赖项调用,并在主项目构建/集群目录中创建一个“资源”文件夹,然后将项目资源目录的内容复制到那里.

Ultimately, when you build a distribution for your project, you'll find the resource directory placed right next to your projects modules directory, making for a nice and neat side by side arrangement.

于 2011-09-08T16:19:28.087 回答
1

Correct code...

<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>

Add this in the main build.xml (not nbproject\build-impl.xml). You may also replace "-pre-jar" with "-post-jar"

于 2012-06-18T07:49:52.150 回答