Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux:如何在SSHEXEC命令中添加Dir位置作为参数之一_Linux_Maven_Ant - Fatal编程技术网

Linux:如何在SSHEXEC命令中添加Dir位置作为参数之一

Linux:如何在SSHEXEC命令中添加Dir位置作为参数之一,linux,maven,ant,Linux,Maven,Ant,我在Linux mechine的ANT scripst中使用MAVEN命令 下面是我的ant脚本,它调用maven.sh文件来清理和安装 sshexec主机=“**”用户名=“”密码=“。。。。command=“/var/----/mavenBuild.sh/”/> sh有:MVN clean install,其中加载了所有必需的类路径和maven路径 但问题是,我必须在POM.xml所在的特定目录下运行这个mavenBuild.sh,因为我没有在SSHEXEC中提到POM.xml文件的路径,安

我在Linux mechine的ANT scripst中使用MAVEN命令

下面是我的ant脚本,它调用maven.sh文件来清理和安装 sshexec主机=“**”用户名=“”密码=“。。。。command=“/var/----/mavenBuild.sh/”/>

sh有:MVN clean install,其中加载了所有必需的类路径和maven路径


但问题是,我必须在POM.xml所在的特定目录下运行这个mavenBuild.sh,因为我没有在SSHEXEC中提到POM.xml文件的路径,安装没有失败,因为不存在POM文件,如果我在by下手动运行这个mavenBuild.sh文件,它的工作状态良好。请帮助我如何将这个位置(我的pom的目录位置)作为参数之一附加到SSHEXEC中这不是一个非常技术性的解决方案,我没有使用SSHEXEC或Maven,但是你不能在mavenBuild.sh文件的顶部添加以下内容吗

PATHTOXML=/path/to/xml
cd $PATHTOXML
甚至更短:

cd /path/to/xml
如果目录发生更改,还可以将其作为变量传递给mavenBuild.sh

转到SSHEXEC你看过这篇文章了吗,它可能会有帮助:

编辑-我还不能发表评论:(

再次编辑->我有一个想法,我读到你不能用SSHEXEC cd,所以值得考虑将命令放在另一个“install.sh”文件中,并使用scp删除机器,然后使用SSHEXEC commandresource执行它

Maven支持“-f”参数

因此,如果您在mavenBuild.sh的命令行中包含此参数,它将在不更改目录的情况下工作

mvn -f <path to pom> <goals>
mvn-f

您好,亲爱的,非常感谢在mavenBuild.sh文件中添加了很多有用的内容,您为我节省了很多时间。无需担心,这并不是一个很好的解决方案,但可以作为一个解决方案。我刚刚编辑了我的帖子,似乎SSHEXEC不允许目录更改,因此您需要通过另一种方法来完成。我认为我最初的建议是quickest/最简单但可能不是最全面的。祝你好运。别忘了标记为已回答等。其他人可能能够提供更健壮的解决方案。我还有一个问题,我可以在linux中使用exec cmd而不使用shell脚本吗?