我在Linux机器上的ANT脚本中使用MAVEN命令,
这是我的ant脚本,它调用maven.sh文件进行清理和安装ssheec host="**" username=" password=" ....命令= "/var/——/mavenBuild.sh/"/>
mavenBuild.sh有:MVN clean install和所有需要的类路径和maven路径加载在其中
但问题是我必须在pom .xml所在的特定目录下运行此mavenBuild.sh,因为我没有提到我的pom .xml文件在ssheec中的路径,因此安装不会因错误而失败,因为没有pom文件存在,如果我手动运行此mavenBuild.sh文件到该位置其工作正常。请帮助我如何在ssheec中附加此位置(我的pom的目录位置)作为参数之一
Maven支持"-f "参数。
因此,如果您在mavenBuild.sh的命令行中包含此参数,它将在不更改目录的情况下工作
mvn -f <path to pom> <goals>
这不是一个非常技术性的解决方案,我没有使用ssheec或Maven,但你不能在mavenBuild.sh文件的顶部添加以下内容吗?
PATHTOXML=/path/to/xml
cd $PATHTOXML
或更短:
cd /path/to/xml
如果目录改变,您也可以将它作为一个变量传递给mavenBuild.sh。
移动到ssheec你看过这篇文章,它可能会有所帮助:ssheec中bash脚本中的变量
编辑-我还不能评论:(
再次编辑->我有一个想法,我读到你不能使用ssheexec cd,所以是否值得考虑将命令放在另一个"install.sh"文件中,并使用scp删除机器,然后使用ssheexec命令资源来执行它