(я использую Windows.)Способ запуска Maven из скрипта Python?
Я пытаюсь запустить Maven из питона сценария. У меня есть это:
import subprocess
mvn="C:\\_home\\apache-maven-2.2.1\\bin\\mvn.bat --version"
p = subprocess.Popen(mvn, shell=True, stdout = subprocess.PIPE)
stdout, stderr = p.communicate()
print p.returncode # is 0 if success
Он отлично работает, но мне интересно, о следующем:
- Лучше способы добавления параметров вместо добавления строки.
- Возможно, какой-то конкретный способ запустить maven без вышеуказанного.
- Способ отображения вывода (в настоящее время он печатает только 1 или 0 на основе отказа/успеха).
То, что я пытаюсь сделать долгий срок (я отмечаю это в случае, если кто-то имеет лучший метод), это сделать простой скрипт для создания списка проектов и переместить будет сдвинут еще один список файлов (банки/другие измененные вещи) в папку для развертывания на виртуальные машины, это огромная боль сделать вручную. У меня это работает в пакетном скрипте без пота, мне просто интересно узнать Python и задаться вопросом, будет ли проще управлять, потому что я могу просто сделать пару списков и перебрать по каждому из местоположений, а не иметь строку для каждая задача в пакетном скрипте.
(короткая версия, что моя партия сценарий выглядит следующим образом.)
@set version=7.8.3
@set staging_folder=C:\Users\me\Desktop\staging
@set stage_was=%staging_folder%\was
@set stage_ear=%stage_was%\stuffui.ear
@set stage_war=%stage_ear%\stuff-%version%.war
:: delete stage contents
call del /s /q %staging_folder%
call rmdir /s /q %stage_was%
:: make folders
call mkdir %stage_ear%
call mkdir %stage_war%\WEB-INF\lib
:: maven builds
call mvn -f C:\workspace\pom.xml -pl proj1,proj2 clean install
:: copy to stage
call xcopy C:\workspace\proj1\target\thing1.jar %stage_ear%\ /i /y
call xcopy C:\workspace\proj2\target\thing2.jar %stage_ear%\ /i /y
call xcopy C:\workspace\proj2\target\thing2.jar %stage_war%\WEB-INF\lib\ /i /y
попробовать, как этот 'вызова MVN -f C: \ рабочее пространство \ pom.xml -pl "proj1, proj2" чистый install' – npocmaka
Моя партия-скрипт работает как есть, я пытаюсь сделать что-то подобное в Python. –
Я думаю, что важно сказать maven для запуска в пакетном режиме (поэтому он использует значения по умолчанию и не запрашивает ввод): mvn --batch-mode -v – wemu