从文件中获取类

时间:2012-03-20 09:34:46

标签: java compiler-construction command-line compilation java-compiler-api

我有一个源代码,在此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是

在同一个目录中

3 个答案:

答案 0 :(得分:2)

  

现在我想通过JavaCompiler编译这段代码但是我有   首先编译两个引用的类

不,不。只要Java编译器可以找到这些类,它就会自动编译它们。这意味着它们需要与您实际编译的文件位于同一目录系统中,或者通过-sourcepath选项进行定位。

答案 1 :(得分:2)

查看文档。 for JavaCompiler向我建议,将它们添加到提供给getTask(..)compilationUnits的可迭代集合中应该可以达到预期的效果。

答案 2 :(得分:1)

是的,确实有一个更好的方法。使用Apache Ant之类的构建工具来组织构建。 Ant Wiki中包含了几个tutorials