0

依存関係が構築される前にクラス A を構築しているため、ビルド スクリプトが失敗します。

コンパイル中に正確にクラス A がロードされているときをトレースする方法はありますか? 失敗するタスクは知っていますが、そのタスクは他のクラス C、D、E をコンパイルしており、それらの間に直接的な関係はありません。コンパイルされたクラスは、クラス A によって拡張されたクラス B をインポートします。

お気に入り

Import Class B

Class C
{
}

Class A extends Class B
{
}

これをデバッグするためにEclipseを使用しています。Ant 冗長モードも役に立ちませんでした。

ヒントをいただければ幸いです。

ありがとう。

4

1 に答える 1

0

javac同じタスクですべてのクラスをコンパイルしている場合、 javac(実行可能ファイル) は正しい依存関係の順序を決定します。

ただし、クラス B がコンパイルされた後でクラス A をコンパイルする場合は、B のクラス ファイルがjavacA をコンパイルするターゲットのクラスパスにあることを確認する必要があります。

例えば:

<javac srcdir="b-project/src" destdir="classes"/>

...その後、おそらく別のターゲットで(depends属性を設定します)...

<path id="compile.classpath">
    <fileset dir="classes"/><!-- contains compiled class B -->
</path>
<javac classpathref="compile.classpath" srcdir="a-project/src" destdir="classes"/>

これで問題が解決しない場合は、ビルド ファイルの関連部分を投稿してください。

于 2012-04-20T07:02:59.397 に答える