вызвать пакетный файл из cygwin breaks после 1-й команды? - PullRequest
1 голос
/ 02 февраля 2011

У меня есть файл "bat" с некоторыми командами maven, которые довольно длинные, поэтому я попытался создать один файл с командами MVN для выполнения.Мой файл bat в cygwin называется:

$. / Mvncommand.bat

Примеры команд MVN в моем файле:

mvn install:install-file -DgroupId=org.openhealthtools.ihe -DartifactId=atna.auditor -Dversion=1.2.0 -Dfile=resources/lib/org.openhealthtools.ihe.atna.auditor_1.2.0.jar -Dpackaging=jar -DgeneratePom=false

mvn install:install-file -DgroupId=org.openhealthtools.ihe -DartifactId=atna.context -Dversion=1.2.0 -Dfile=resources/lib/org.openhealthtools.ihe.atna.context_1.2.0.jar -Dpackaging=jar -DgeneratePom=true

Странно, только первая установка mvn выполняется и все в порядке.Но как заставить Cygwin вызывать остальные команды mvn?

Спасибо.

JR

Ответы [ 2 ]

3 голосов
/ 02 февраля 2011

Maven (mvn) - это пакетный файл, и запуск пакетных файлов из другого пакетного файла должен выполняться с помощью call.

Так измените то, что у вас есть на

call mvn ...

и должно работать.

Кстати, это никак не связано с Cygwin.

0 голосов
/ 02 февраля 2011

Возможно, ваша первая команда mvn возвращает код ошибки.В Windows cmd это приведет к тому, что все последующие команды не будут выполняться.Это может быть поведение, которое вы хотите, но вы должны рассмотреть возможность использования * nix-подобной оболочки, а не пакетного файла Windows, поскольку вы уже используете Cygwin.

Например, вы можете поместить обе команды в файл с именем mvncommand с вашей выбранной оболочкой.

#!/usr/bin/bash
mvn install:install-file -DgroupId=org.openhealthtools.ihe -DartifactId=atna.auditor -Dversion=1.2.0 -Dfile=resources/lib/org.openhealthtools.ihe.atna.auditor_1.2.0.jar -Dpackaging=jar -DgeneratePom=false

mvn install:install-file -DgroupId=org.openhealthtools.ihe -DartifactId=atna.context -Dversion=1.2.0 -Dfile=resources/lib/org.openhealthtools.ihe.atna.context_1.2.0.jar -Dpackaging=jar -DgeneratePom=true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...