Как я могу создать Makefile для компиляции моей программы Java с одного исходного файла, расположенного в src/Hello.java
, чтобы Ouput файл, который я могу работать с ./prog
Java Makefile Выход один исполняемый файл
ответ
(1) Посмотрите на http://ant.apache.org/ - это инструмент построения, подходящий для Java, лучше, чем make. Например, проверьте команду javac
в муравейнике.
(2) Вам необходимо запустить java-программы, запустив виртуальную машину Java (java
) и рассказав ей, что выполнить. Нет пути ./xxx для запуска программы в java; этот метод выполняет скрипты или исполняемые программы, а скомпилированная java-программа - это байт-код, который не является ни тем, ни другим. Что вам нужно, чтобы создать небольшой скрипт, назовем его «Привет», дать ему разрешение на выполнение с chmod
, его содержание должно быть что-то вроде:
#!/bin/bash
java -cp . Hello
Сделать это не отличный инструмент для создания программ на Java, в первую очередь потому что его основной дизайн заключается в том, чтобы идентифицировать устаревшие источники (исходные или объектные файлы) и применять к ним преобразования. Компилятор Java обрабатывает эту проверку зависимостей уже, и определение правила Make для компиляции Java - это больше проблем, чем того стоит.
Адриан Смит уже предложил Ant. Я собираюсь предложить Maven в качестве альтернативы.
Основная причина этого предложения заключается в том, что в Maven очень легко получить простой проект: вы можете указать Maven создать всю структуру каталогов, а затем он просто работает. И хотя вам может не понравиться структура каталогов, созданная Maven, для совместной работы есть преимущество, если вы работаете в большом проекте. У Maven есть свои ограничения, и некоторые из них чрезвычайно болезненны, но вы, как правило, не сталкиваетесь с ними, пока не получите знания, чтобы обойти их.
Что касается запуска программы Java, вам нужно вызвать JVM где-то вдоль линии. Сценарий оболочки - это один подход, но, как правило, проще просто вызвать JVM напрямую. Если вы создаете «исполняемый JAR» (который Maven будет делать для вас, в том числе варианты, включая все зависимости), вы можете вызвать его так:
java -jar executable.jar
Компилятор java отлично подходит для компиляции отдельных файлов. Он может скомпилировать несколько файлов, чтобы не запускать полную JVM для каждого (что было ужасно медленным). Make не является хорошим инструментом для запуска одной командной строки для обработки нескольких файлов, поэтому муравей был writtne. –
- 1. Makefile не сгенерирует исполняемый файл
- 2. Makefile- не выдает исполняемый файл
- 3. Makefile in C, чтобы получить исполняемый файл
- 4. Почему мой Makefile не создает исполняемый файл?
- 5. Как сделать исполняемый файл с помощью Makefile
- 6. Makefile with macro, не сгенерирует исполняемый файл
- 7. Запустить исполняемый файл из файла makefile
- 8. MakeFile компилирует только один файл
- 9. создать файл makefile для статической библиотеки и исполняемый файл одновременно
- 10. Java-исполняемый файл Jar
- 11. Kivy: скомпилировать один исполняемый файл
- 12. py2exe - сгенерировать один исполняемый файл
- 13. Один исполняемый файл с Py2Exe
- 14. Virtualenv в один исполняемый файл
- 15. Оберните исполняемый файл в другой исполняемый файл
- 16. Java-исполняемый файл не запускается
- 17. "make" дает исполняемый файл
- 18. Java eclipse Файл пути исполняемый
- 19. Java Eclipse исполняемый файл jar
- 20. Makefile игнорируя @ беззвучный выход
- 21. Java - Аргументы в Jar Файл исполняемый файл
- 22. Постоянно исполняемый исполняемый файл
- 23. Makefile компилировать только первый файл один инструкции Makefile
- 24. Как развернуть только один исполняемый файл
- 25. 15 скриптов Python в один исполняемый файл?
- 26. Упаковка файлов в один исполняемый файл (C#)
- 27. Сделать один исполняемый файл из приложения .NET
- 28. Один исполняемый файл, созданный py2exe, не работает
- 29. Как создать исполняемый исполняемый файл Jar? (BlueJ)
- 30. Как запустить исполняемый файл без «./» с помощью MakeFile?
Ну, на Linux, есть binfmt, что позволяет на самом деле запустить ./app.jar. –
Подумайте об этом, установщик Java для Windows также расширяет расширение «jar», поэтому его можно запустить непосредственно из командной строки или нажав на него. Единственная проблема - использовать консольную или оконную версию JVM. Более экзотические платформы, возможно, не имеют такой возможности, хотя (HP-UX приходит на ум). –