Получить классы из файла - PullRequest
0 голосов
/ 20 марта 2012

У меня есть исходный код, и в этом 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 ]

2 голосов
/ 20 марта 2012

Теперь я хочу скомпилировать этот код с помощью JavaCompiler, но поэтому мне нужно сначала скомпилировать два указанных класса

Нет, вы этого не делаете.Пока компилятор Java может найти эти классы, он автоматически их скомпилирует.Это означает, что они должны находиться в той же системе каталогов, что и файл, который вы на самом деле компилируете, или же их можно найти с помощью опции -sourcepath.

2 голосов
/ 20 марта 2012

Глядя на документы.для JavaCompiler предлагает мне, что добавление их в повторяемую коллекцию compilationUnits, предоставленную getTask(..), должно привести к желаемому результату.

1 голос
/ 20 марта 2012

Да, есть лучший метод.Используйте инструмент сборки, такой как Apache Ant , для организации ваших сборок.В Ant Wiki есть несколько учебных пособий .

...