1

私は netbeans とそのビルド定義にかなり慣れていないので、私が達成しようとしていることは不可能かもしれません...

私は netbeans を使用していくつかのプラグインを開発しており、生成後にすべての jar ファイルを共通ディレクトリにコピーしたいと考えています。

<target name="-post-jar">すべてのファイルのブロックでそれを行うことができますが、将来的に行うことがより一般的なものになるため、すべてのプラグインのbuild.xmlすべてのファイルに含まれる共通ファイルにコピー指示を入れたいと考えています。build.xml

これが私がしたことです:

movejar.xmlすべてのプロジェクトが配置されているディレクトリ ( /home/xxx/dev/plugins) に、次の内容のファイルを作成しました。

<?xml version="1.0" encoding="UTF-8"?>
<project name="movejar" default="default" basedir=".">
    <target name="-post-jar">
        <property name="mcp.destpath" value="/home/xxx/dev/plugins" />
        <echo message="Moving ${dist.jar} to ${mcp.destpath}" />
        <copy file="${dist.jar}" flatten="true" todir="${mcp.destpath}" />
    </target>
</project>

import次に、次の命令を追加しました/home/xxx/dev/plugins/myplugin/build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="myplugin" default="default" basedir=".">
    <description>Builds, tests, and runs the project myplugin.</description>
    <import file="nbproject/build-impl.xml"/>
    <import file="../movejar.xml"/>
</project>

(セクションの外側に<echo>foo</echo>)を入れると、コンパイル ログに表示されるため、インポートは問題ありません。movejar.xmltarget

問題は、-post-jarターゲットがコンパイル時に実行されないことです (もちろん、jar 生成はプロジェクトのプロパティで有効になっています)。エコーはコンパイル ログに表示されず、jar ファイルはコピーされず、エラーもありません ...

何か案は ?

4

1 に答える 1

1

わかりました、それを釘付けにしました、私はこれを前に試したことがないのは少し恥ずかしいです...

短いバージョン: importnetbeans' の前のものimport

ものをインポートすると、最初の定義の種類が将来の定義を「ロック」するため、以前に定義さimportれたものは後で定義を上書きすることができなくなりますimport...

Netbeanstargetは、空のセクションnbproject/build-impl.xmlも含めて、可能なすべてのセクションを自動的に生成するため、定義する必要があるものはすべて事前にインポートする必要があります (一方、のルートにターゲット セクションを追加することは、問題なくbuild.xmlインポートした後に行うことができますbuild-impl.xml...)。

于 2012-08-28T11:51:33.330 に答える