Я хочу выполнить команды оболочки из maven’s pom.xml

Я хочу выполнить команды оболочки Linux с Maven. Вот что я пробовал:

 org.codehaus.mojo exec-maven-plugin 1.1.1    exec     hostname   

Вот что я работаю для меня:

  exec-maven-plugin org.codehaus.mojo   Version Calculation generate-sources  exec   ${basedir}/scripts/calculate-version.sh     

Проблема здесь в том, что я не знаю, чего ожидать . С вашей текущей настройкой вызывается запуск плагина в командной строке:

 $ mvn exec: exec
 [INFO] Сканирование проектов ...
 [ИНФОРМАЦИЯ] ----------------------------------------------- -------------------------
 [INFO] Здание Q3491937
 Целевой сегмент [INFO]: [exec: exec]
 [ИНФОРМАЦИЯ] ----------------------------------------------- -------------------------
 [INFO] [exec: exec {выполнение: default-cli}]
 [INFO] ноутбук
 [ИНФОРМАЦИЯ] ----------------------------------------------- -------------------------
 [INFO] СТРОИТЬ УСПЕШНО
 [ИНФОРМАЦИЯ] ----------------------------------------------- -------------------------
 ...

Используется глобальная configuration , выполняется команда hostname ( laptop – мое имя хоста). Другими словами, плагин работает так, как ожидалось.

Теперь, если вы хотите, чтобы плагин выполнялся как часть сборки , вам нужно привязать цель на определенной фазе. Например, чтобы связать его при compile :

   org.codehaus.mojo exec-maven-plugin 1.1.1   some-execution compile  exec     hostname   

А потом:

 $ mvn компилировать
 [INFO] Сканирование проектов ...
 [ИНФОРМАЦИЯ] ----------------------------------------------- -------------------------
 [INFO] Здание Q3491937
 Сегмент [INFO]: [компиляция]
 [ИНФОРМАЦИЯ] ----------------------------------------------- -------------------------
 [INFO] [ресурсы: ресурсы {выполнение: по умолчанию-ресурсы}]
 [INFO] Использование кодировки UTF-8 для копирования фильтрованных ресурсов.
 [INFO] пропустить не существующий ресурсDirectory / home / pascal / Projects / Q3491937 / src / main / resources
 [INFO] [компилятор: компиляция {выполнение: по умолчанию-компиляция}]
 [INFO] Ничего не компилируется - все classы обновлены
 [INFO] [exec: exec {выполнение: some-execution}]
 [INFO] ноутбук
 [ИНФОРМАЦИЯ] ----------------------------------------------- -------------------------
 [INFO] СТРОИТЬ УСПЕШНО
 [ИНФОРМАЦИЯ] ----------------------------------------------- -------------------------
 ...

Обратите внимание, что вы можете указать configuration внутри execution .

Решаемые. Проблема в том, что исполняемый файл работает по-другому в Linux. Если вы хотите запустить .sh-файл, напишите ниже. Напишите его в pom.xml

   exec-maven-plugin 1.6.0 org.codehaus.mojo   Renaming build artifacts package  exec   bash handleResultJars.sh     

2 Опции:

  1. Вы хотите выполнить команду из maven без привязки к какой-либо фазе, вы просто вводите команду, а maven запускает ее , вы просто хотите, чтобы maven запускал что-то, вам все равно, если мы находимся в compile / package / … Давайте скажем, я хочу запустить npm start с maven, вы можете добиться этого с помощью ниже:

mvn exec:exec -Pstart-node

Для этого вам понадобится раздел ниже maven

    start-node    org.codehaus.mojo exec-maven-plugin 1.3.2    exec     npm start       
  1. Вы хотите запустить произвольную команду из maven, когда вы находитесь на определенном этапе , например, когда я нахожусь на этапе установки. Я хочу запустить npm install вы можете сделать это с помощью:

mvn install

И для этого вам понадобится следующий раздел:

   org.codehaus.mojo exec-maven-plugin 1.3.2   npm install (initialize)  exec  initialize  npm  install    
  • Настройка пространства кучи Java под Maven 2 в Windows
  • Spring 3.0 - Не удалось найти пространство имен SpringNamespaceHandler для пространства имен XML
  • Свойство Maven2, которое указывает родительский каталог
  • Maven: Должен ли я хранить или удалять объявленные зависимости, которые также являются транзитными зависимостями?
  • Предупреждение. Путь сборки указывает среду выполнения J2SE-1.4
  • Как настроить кодировку в Maven?
  • Tomcat 7 - Плагин Maven?
  • Есть ли способ «сбой быстро» для junit с плагином maven surefire?
  • SLF4J: путь classа содержит несколько привязок SLF4J
  • Преобразование существующего проекта Eclipse в проект Maven
  • Maven: Как изменить путь к целевому каталогу из командной строки?
  • Давайте будем гением компьютера.