我有一个源代码,在此source
中引用了两个classes
。
现在我希望通过compile
JavaCompiler
此代码,但因此我必须先编译两个引用的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是
在同一个目录中答案 0 :(得分:2)
现在我想通过JavaCompiler编译这段代码但是我有 首先编译两个引用的类
不,不。只要Java编译器可以找到这些类,它就会自动编译它们。这意味着它们需要与您实际编译的文件位于同一目录系统中,或者通过-sourcepath选项进行定位。
答案 1 :(得分:2)
查看文档。 for JavaCompiler
向我建议,将它们添加到提供给getTask(..)
的compilationUnits
的可迭代集合中应该可以达到预期的效果。
答案 2 :(得分:1)
是的,确实有一个更好的方法。使用Apache Ant之类的构建工具来组织构建。 Ant Wiki中包含了几个tutorials。