質問

Javaデスクトップアプリケーションを開発していますが、外部のconfiguration.xmlが必要です。
Netbeansを使用してアプリケーションを開発し、distディレクトリにconfiguration.xmlファイルを追加して、アプリケーションの作業フォルダーに配置しようとしました。しかし、Netbeansがクリーン操作を実行すると、distディレクトリが削除されます
このconfiguration.xmlファイルは、削除されず、アプリケーションの起動ディレクトリに存在しないようにどこに配置する必要があります。

役に立ちましたか?

解決

これをbuild.xmlに追加できます:

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

これで、プロジェクトの「resources」フォルダー(作成する必要がある)にconfiguration.xmlファイルを配置でき、ビルドプロセス中にその中のすべてのファイルがdistフォルダーにコピーされます。

他のヒント

これを機能させることはできましたが、メインのビルド構成で依存関係として明示的に入力しないと、-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が依存関係として呼び出され、メインプロジェクトのbuild / clusterディレクトリに「resources」フォルダーの作成が実行され、続いてプロジェクトリソースの内容がコピーされます向こうのディレクトリ。

最終的に、プロジェクトのディストリビューションをビルドすると、プロジェクトモジュールディレクトリのすぐ横にリソースディレクトリが配置され、きれいに並べられます。

正しいコード...

<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ではない)に追加します。 &quot; -pre-jar&quot;を置き換えることもできます。 &quot; -post-jar&quot;

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top