如何从另一个目录运行Maven(没有cd到项目目录)?

时间:2011-06-25 14:58:45

标签: maven

假设我的maven项目位于/some/location/project且当前位置为/another/location/,如何在不更改项目位置cd /some/location/project的情况下运行maven构建?

4 个答案:

答案 0 :(得分:366)

您可以使用参数-f并指定您的pom文件的路径,例如mvn -f /path/to/pom.xml

这对于工作目录运行maven“好像”它在/path/to

答案 1 :(得分:12)

我认为maven不支持这个。如果您使用的是Unix,并且不想离开当前目录,则可以使用小型shell脚本,shell函数或仅使用子shell:

user@host ~/project$ (cd ~/some/location; mvn install)
[ ... mvn build ... ]
user@host ~/project$

作为bash函数(可以添加到〜/ .bashrc中):

function mvn-there() {
  DIR="$1"
  shift
  (cd $DIR; mvn "$@")     
} 

user@host ~/project$ mvn-there ~/some/location install)
[ ... mvn build ... ]
user@host ~/project$

我意识到这并没有回答具体问题,但可能会为您提供您所追求的内容。我不熟悉Windows shell,但你也应该能够在那里找到类似的解决方案。

此致

答案 2 :(得分:2)

对我来说,是这样的:mvn -f /path/to/pom.xml [goals]

答案 3 :(得分:0)

您可以尝试以下方法:

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