Как запустить Maven из другой директории (без cd для проекта dir)?

Предположим, что мой проект maven находится в /some/location/project, и мое текущее местоположение /another/location/, как я могу запустить maven-сборку без изменения местоположения проекта cd /some/location/project?

Ответ 1

Вы можете использовать параметр -f и указать путь к вашему pom файлу, например, mvn -f /path/to/pom.xml

Это запускает maven "как будто" это было в /path/to для рабочего каталога.

Ответ 2

Я не думаю, что maven это поддерживает. Если вы работаете в Unix и не хотите покидать свой текущий каталог, вы можете использовать небольшую оболочку script, функцию оболочки или просто суб-оболочку:

[email protected] ~/project$ (cd ~/some/location; mvn install)
[ ... mvn build ... ]
[email protected] ~/project$

Как функция bash (которую вы можете добавить к своему ~/.bashrc):

function mvn-there() {
  DIR="$1"
  shift
  (cd $DIR; mvn "[email protected]")     
} 

[email protected] ~/project$ mvn-there ~/some/location install)
[ ... mvn build ... ]
[email protected] ~/project$

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

Привет

Ответ 3

Для меня это работает так: mvn -f /path/to/pom.xml [goals]

Ответ 4

Вы можете попробовать это:

pushd ../
maven install [...]
popd