#java #compilation
#java #Сборник
Вопрос:
Я несколько дней искал способ скомпилировать весь каталог, который содержит не только классы Java. Я понятия не имею, как добавить текстовые файлы и зависимости в процесс компиляции. Кто-нибудь знает способ сделать это? Я знаю, что JavaCompiler — это вещь, но я не могу заставить его это сделать. Я был бы очень признателен, если бы кто-нибудь мог прислать мне несколько примеров кода, используя все, что может делать то, что я хочу.
Комментарии:
1. Если вы делаете это программно на Java, вы должны использовать a
FileVisitor
, чтобы получить список файлов, которые соответствуют (скажем)*.java
, и передать этот списокJavaCompiler
. (Извините. Не пишу пример кода для вас.)
Ответ №1:
Если вы просто хотите скомпилировать файлы Java в каталоге / папке, вы можете открыть терминал, перейти к определенной папке и запустить
javac *.java
Если вы хотите сделать это из своего java-приложения, вы можете использовать класс Runtime для выполнения команд операционной системы из вашей java-программы.
Например, вы можете создать скрипт bash или файл .bat, поместить туда все свои команды, а затем вызвать
Runtime run = Runtime.getRuntime();
Process process=runtime.exec("Compile.bat");
Вы также могли бы создать pom.xml , и используйте maven для создания вашего проекта (вызывая maven из вашего приложения).
Комментарии:
1. У меня есть это прямо сейчас, но, похоже, это не работает, так как класс не будет компилироваться из-за зависимости, не используемой в процессе компиляции: javac -cp «.;C:UsersDELLDesktopTestjars *» -исходный путь».;C:UsersDELLDesktopTestresources *» C:UsersDELLDesktopTestcomtestMain.java C:UsersDELLDesktopTestcomtestTest.java