Я искал в Интернете, но получил только примеры создания Java Makefile. Мой случай отличается от того, что если у меня есть Makefile, но я просто хочу запустить его с Java?Можно ли запустить Makefile с Java?
ответ
Вы действительно не запускаете make-файл, скорее, вы запускаете утилиту make
и ищет файл под названием «makefile» или «Makefile» в вашем текущем каталоге и обрабатывает команды в этом файле. Поэтому вам нужно выполнить make
из вашего приложения java. Вы можете сделать это через Runtime.exec()
. Для получения дополнительной информации см http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html#exec%28java.lang.String%29 и http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1
Один потенциальный вопрос вы должны смотреть на то, что make
может или не может существовать на машине, что ваша программа работает на, и даже если он существует, то он может быть расположен в не стандартное расположение. На моей машине это /usr/bin/make
, но она может быть расположена в другом месте. Будьте осторожны, чтобы объяснить это.
Да. Вы можете использовать Runtime.exec для запуска приложения make. Однако, как уже указывалось ранее, вы должны учитывать условия, когда файл может отсутствовать или присутствовать в другом месте. Я предлагаю вам взглянуть на java.io.File javadoc, который предоставляет эту функциональность. Кроме того, не забудьте захватить поток ошибок для целей ведения журнала/отладки. Много раз программисты реализуют только входные и выходные потоки.
И еще одна проблема заключается в том, что make-файлы, как правило, не переносятся. –
@ Stephen C - Хорошая точка. – echo
Ох спасибо, извините за то, что не отвечал в течение длительного времени. @echo спасибо за совет, я просто запустил make make для make-файла, а не из java. спасибо за ответы! –