2011-01-10 2 views

ответ

2

(1) Посмотрите на http://ant.apache.org/ - это инструмент построения, подходящий для Java, лучше, чем make. Например, проверьте команду javac в муравейнике.

(2) Вам необходимо запустить java-программы, запустив виртуальную машину Java (java) и рассказав ей, что выполнить. Нет пути ./xxx для запуска программы в java; этот метод выполняет скрипты или исполняемые программы, а скомпилированная java-программа - это байт-код, который не является ни тем, ни другим. Что вам нужно, чтобы создать небольшой скрипт, назовем его «Привет», дать ему разрешение на выполнение с chmod, его содержание должно быть что-то вроде:

#!/bin/bash 

java -cp . Hello 
+0

Ну, на Linux, есть binfmt, что позволяет на самом деле запустить ./app.jar. –

+0

Подумайте об этом, установщик Java для Windows также расширяет расширение «jar», поэтому его можно запустить непосредственно из командной строки или нажав на него. Единственная проблема - использовать консольную или оконную версию JVM. Более экзотические платформы, возможно, не имеют такой возможности, хотя (HP-UX приходит на ум). –

2

Сделать это не отличный инструмент для создания программ на Java, в первую очередь потому что его основной дизайн заключается в том, чтобы идентифицировать устаревшие источники (исходные или объектные файлы) и применять к ним преобразования. Компилятор Java обрабатывает эту проверку зависимостей уже, и определение правила Make для компиляции Java - это больше проблем, чем того стоит.

Адриан Смит уже предложил Ant. Я собираюсь предложить Maven в качестве альтернативы.

Основная причина этого предложения заключается в том, что в Maven очень легко получить простой проект: вы можете указать Maven создать всю структуру каталогов, а затем он просто работает. И хотя вам может не понравиться структура каталогов, созданная Maven, для совместной работы есть преимущество, если вы работаете в большом проекте. У Maven есть свои ограничения, и некоторые из них чрезвычайно болезненны, но вы, как правило, не сталкиваетесь с ними, пока не получите знания, чтобы обойти их.

Что касается запуска программы Java, вам нужно вызвать JVM где-то вдоль линии. Сценарий оболочки - это один подход, но, как правило, проще просто вызвать JVM напрямую. Если вы создаете «исполняемый JAR» (который Maven будет делать для вас, в том числе варианты, включая все зависимости), вы можете вызвать его так:

java -jar executable.jar 
+0

Компилятор java отлично подходит для компиляции отдельных файлов. Он может скомпилировать несколько файлов, чтобы не запускать полную JVM для каждого (что было ужасно медленным). Make не является хорошим инструментом для запуска одной командной строки для обработки нескольких файлов, поэтому муравей был writtne. –

Смежные вопросы