Maven可以使用SSH将本地文件复制到远程服务器吗?
我想在maven配置文件中指定位置,并在每次执行部署阶段时将该文件(或多个文件)复制到服务器.
maven-deploy-plugin允许您使用scp配置部署阶段以部署到服务器.文档中有一个页面描述了如何完成它.
我相信这将取代正常部署而不是添加到它,所以它可能不是你想要的.
如果您需要部署到传统的Maven存储库并将文件传递到远程服务器,则需要使用scp任务,如其他答案所示.
在这个答案中,我已经描述了如何配置ftp任务,scp任务几乎完全相同,除了你可能需要添加密钥文件和密码短语属性(并明确地将任务名称从ftp更改为scp).
看看Maven Wagon插件
要使用简单的命令行手动尝试: mvn org.codehaus.mojo:wagon-maven-plugin:1.0:upload -Dwagon.url=scp://username:userpassword@myserver -Dwagon.fromDir=target -Dwagon.includes=*.ear -Dwagon.toDir=/home/elisabetta
在这两种情况下,请务必将Wagon的SSH扩展添加到您的pom.xml:
org.apache.maven.wagon wagon-ssh 2.8
为什么不使用可以在Maven中运行的Ant SCP任务?
Maven不是一个通用工具,它是一个使您的构建过程可重用的工具.我建议使用嵌入式的antrun构建步骤.在此步骤中,您可以使用在build.xml中使用的常规ant语法执行任何操作.