создание исполняемого jar-файла с помощью ant, который включает в себя файл build.xml - PullRequest
0 голосов
/ 01 августа 2009

Я пытаюсь использовать ant для создания приложения, запуска метода main () приложения, запуска тестов junit и упаковки всего в файл jar (source + build + library + build.xml) Классы включают класс бегуна с точкой входа метода main ().

Однако цель состоит в том, чтобы включить все используемые библиотеки, такие как junit.jar, и сам файл build.xml ant.

Мне было интересно, есть ли способ для исполняемого jar-файла запустить выбранные цели из файла сборки ant вместо самого main (). Очевидно, мне не нужно было бы снова запускать цели компиляции, а только метод main () (элемент java в моей цели run) и цель junit. Это возможно?

Большое спасибо заранее за понимание!

1 Ответ

3 голосов
/ 01 августа 2009

«Исполняемая банка» - это не то, что вы думаете. Он позволяет объединить все ваши классы (вы также можете добавить к нему исходный код, хотя в этом я и не вижу особого смысла) и объявить основной класс, используя атрибут Main-Class в манифесте jar. Подробности здесь .

Затем вы можете запустить этот jar с помощью командной строки "java -jar my.jar", которая вызовет метод main() указанного вами класса. Вы также можете указать атрибут classpath через Class-Path в файле манифеста, который может указывать на другие файлы jar, необходимые для вашего приложения. Что НЕ ОЗНАЧАЕТ эти банки хранятся в вашей банке; на самом деле, если вы сделаете это, JVM не сможет загружать классы из этих jar-файлов, если вы не примете специальные меры предосторожности и не создадите собственный загрузчик классов.

...