假设我的maven项目位于/some/location/project,而我的当前位置是/another/location/我如何运行maven构建而不改变项目位置cd /some/location/project?


我不认为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,不过您应该也能在那里找到类似的解决方案。

问候

你可以使用参数-f(或——file)来指定pom文件的路径,例如mvn -f /path/to/pom.xml

这将运行maven,“好像”它在/path/to中作为工作目录。

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

你可以试试这个:

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

如果你想运行maven而不使用这个命令“mvn -f path/to/pom.xml”,你可以右键单击你的文件夹项目(在intellij中),然后单击重建模块“你的artifactId的名称”(对应在你的pom.xml中)。这对我很管用。