私はソースコードを持っており、この中にsource
は2つのclasses
が参照されています。ファイルからクラスを取得
今私はこのコードJavaCompiler
を経由してcompile
にしたいと思いますが、私は最初に2つを参照してコンパイルする必要がありますclasses
。
ファイルを読み込んでクラスを検索して最初にコンパイルするよりも良い方法はありますか?スイートははい、definitiveliyより良い方法がある
私はソースコードを持っており、この中にsource
は2つのclasses
が参照されています。ファイルからクラスを取得
今私はこのコードJavaCompiler
を経由してcompile
にしたいと思いますが、私は最初に2つを参照してコンパイルする必要がありますclasses
。
ファイルを読み込んでクラスを検索して最初にコンパイルするよりも良い方法はありますか?スイートははい、definitiveliyより良い方法がある
あるよう
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は同じディレクトリにあります。 Apache Antのようなビルドツールを使用してビルドを整理します。 Ant Wikiにはtutorialsがいくつか含まれています。
いいえ外部ツールを使いたくありません。 – ctekk
ドキュメントを見る。 JavaCompiler
については、getTask(..)
に提供されたcompilationUnits
の反復可能なコレクションにそれらを追加すると、望ましい結果が得られるはずです。
参照元の他のソース(.java)ファイルの場合は、コードをコンパイルすると自動的にコンパイルされます。 –
これらはありません。コンパイルするファイルはJUnitスイートで、クラスはテストケースです。スイートをコンパイルしようとするとエラーが発生します:java:8:シンボルが見つかりません シンボル:class XTest XTest.class、 – ctekk
@Coretekだから、あなたは 'そうではありません。明らかに、JavaソースはクラスXTestを参照しています。さもなければ、そのコンパイラエラーは発生しません。 – EJP