假设我的maven项目位于/some/location/project
且当前位置为/another/location/
,如何在不更改项目位置cd /some/location/project
的情况下运行maven构建?
答案 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