Как автоматически создавать пакетные сценарии / сценарии оболочки для запуска консольного приложения Java? - PullRequest
10 голосов
/ 10 марта 2011

У меня есть приложение командной строки Java, и я хотел бы создать сценарий сборки Ant *, который будет создавать все необходимые сценарии пакетной обработки / оболочки для успешного запуска приложения, включая все переменные classpath.Мне нужно сделать следующее:

  1. Создать файл сценария оболочки для Linux / Unix и пакетный файл для Windows / DOS
  2. Добавить все зависимости classpath (из Maven или просто использоватьпуть сборки в Eclipse)
  3. Добавьте любой необходимый шаблонный sh / bat код для запуска (переменные ENV, JAVA_HOME и т. д.)

Я нашел здесь только частичный ответ здесь.

Но я не нашел ничего, что выполняло бы эту основную и тривиальную задачу, которая связана с каждой сборкой.

Отказ от ответственности - первоначальный вопрос был Ant / Maven, но я бы предпочел посмотреть, можно ли это сделать в Ant.

Ответы [ 4 ]

10 голосов
/ 10 марта 2011

В Maven лучшим решением для этого является maven-appassembler-plugin , который обрабатывает создание сценария оболочки / пакетного файла. В сочетании с maven-сборкой вы можете создать архив tar.gz или zip, содержащий все необходимое.

3 голосов
/ 10 марта 2011

Maven знает цель dependency:build-classpath, которая выполняет большую часть грязной работы:

mvn dependency:build-classpath -DoutputFile=cp.txt

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

Или вы можете использовать exec-maven-plugin для запуска основного класса из текущего контекста maven. Что-то вроде этого подойдет:

mvn compile org.codehaus.mojo:exec-maven-plugin:1.2:java \
    -Dexec.mainClass=com.yourcompany.YourClass
1 голос
/ 12 ноября 2012

Apache commons Launcher создает сценарии запуска для вас. Будут созданы сценарии как для Windows, так и для Linux. Также его можно интегрировать с Ant.

Надеюсь, это поможет другим.

1 голос
/ 10 марта 2011

Один из подходов заключается в использовании двоичного исполняемого компоновщика для приложений Java.Некоторые из них можно запустить из ant с помощью предоставленных задач ant.

Например, exe4j может создавать исполняемые файлы для приложений командной строки и поддерживает Windows, Linux и Mac.Исполняемый файл оборачивает код Java, его путь к классу и путь поиска JVM.Пользовательская задача муравья "com.exe4j.Exe4JTask" поддерживает создание исполняемого файла из конфигурации exe4J, которую можно создать с помощью дружественного мастера.

...