0

クルーズコントロールにはいくつかのプロジェクトがあり、大まかに次のように設定されています。

クルーズコントロール

<ant antfile="build.xml" dir="A" target="compile" inheritAll="false" />

Aのコンパイル ターゲットは、そのコンパイルの一部として、Bの jar ターゲットを呼び出します (「コンパイル」内)。

<ant antfile="${B.dir}/build.xml" inheritAll="false" target="jar" />
<javac ... >

したがって、 Bには jar タスクがあります。AはBから jar を構築し、それをコンパイルで使用します。

私が直面している問題は、クルーズ コントロールがパスを混乱させているように見えることです。Aコンパイル タスクはant から直接動作しますが、cruisecontrol から実行すると、 B jar 設定からのパスに基づいて独自の内部ライブラリを見つけようとしているようです。

これを ant で機能させるには、inheritAll="false" フラグを使用してAからBを呼び出す必要がありましたが、これも fork で javac を呼び出しても問題は解決しないようです。

おそらく関連しています-私たちはant @バージョン1.7を実行しており、ccサーバーはantバージョン1.6.5であり、簡単に更新できません。

ヒントはありますか?

4

1 に答える 1

1

CruiseControl構成では、Antのバージョンを使用するようにanthomeまたはantscript属性を指定できるため、コマンドラインで取得するのと同じ動作をCCから取得できるはずです。

于 2009-03-16T17:00:31.040 に答える