当前位置:  开发笔记 > 编程语言 > 正文

Maven使用SSH将本地文件复制到远程服务器

如何解决《Maven使用SSH将本地文件复制到远程服务器》经验,为你挑选了4个好方法。

Maven可以使用SSH将本地文件复制到远程服务器吗?

我想在maven配置文件中指定位置,并在每次执行部署阶段时将该文件(或多个文件)复制到服务器.



1> Rich Seller..:

maven-deploy-plugin允许您使用scp配置部署阶段以部署到服务器.文档中有一个页面描述了如何完成它.

我相信这将取代正常部署而不是添加到它,所以它可能不是你想要的.

如果您需要部署到传统的Maven存储库并将文件传递到远程服务器,则需要使用scp任务,如其他答案所示.

在这个答案中,我已经描述了如何配置ftp任务,scp任务几乎完全相同,除了你可能需要添加密钥文件和密码短语属性(并明确地将任务名称从ftp更改为scp).


使用`maven-deploy-plugin`的一个缺点是它总是上传一个`maven artifact`,它会上传到`groupId/artifactId/version/artifactId-version.ext`路径位置,如果你只是想要的话使用`scp`任务将文件上传到某个特定服务器位置`antrun`插件可以完成工作.
@ Zero3当所有的痛苦和泪水都是"官方"时无关紧要.我在这个问题上写了一个全面的答案-/sf/ask/17360801/

2> PaoloC..:

看看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
    



3> Brian Agnew..:

为什么不使用可以在Maven中运行的Ant SCP任务?


值得一提的是你可以使用`antrun` maven插件在maven上运行它

4> Aaron Digull..:

Maven不是一个通用工具,它是一个使您的构建过程可重用的工具.我建议使用嵌入式的antrun构建步骤.在此步骤中,您可以使用在build.xml中使用的常规ant语法执行任何操作.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有