-1

私はソースコードを持っており、これsourceには2つのclasses参照があります。

compile今、私はこのコードを経由したいのですJavaCompilerが、したがって、最初に参照されている2つをコンパイルする必要がありますclasses

ファイルを読み取ってクラスを検索し、最初にそれらをコンパイルするよりも良い方法はありますか?

package data.testcases

import org.junit.runner.RunWith;
import org.junit.runners.Suite;


@RunWith(Suite.class)
@Suite.SuiteClasses({
        XTest.class,
        YTest.class
})
public class ASuite {
}

XTest.javaとYTest.javaは、Suiteと同じディレクトリにあります。

4

3 に答える 3

2

ここで、JavaCompilerを介してこのコードをコンパイルしたいのですが、最初に2つの参照クラスをコンパイルする必要があります。

いいえ、しません。Javaコンパイラがそれらのクラスを見つけることができる限り、それらを自動的にコンパイルします。つまり、実際にコンパイルしているファイルと同じディレクトリシステムに配置するか、-sourcepathオプションを使用して配置できるようにする必要があります。

于 2012-03-20T09:45:44.033 に答える
2

ドキュメントを見てください。forは、提供されJavaCompilerたの反復可能なコレクションにそれらを追加すると、目的の結果が得られるはずであることを示唆しています。compilationUnitsgetTask(..)

于 2012-03-20T10:22:20.880 に答える
1

はい、より良い方法が決定的にあります。Apache Antなどのビルドツールを使用して、ビルドを整理します。AntWikiにはいくつかのチュートリアルが含まれています。

于 2012-03-20T09:39:05.520 に答える