Maven自动FTP远程部署

参照官网文档:

https://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ftp.html

1、在pom.xml中加入:

复制代码
<project>
  ...
  <distributionManagement>
    <repository>
      <id>ftp-repository</id>
      <url>ftp://repository.mycompany.com/repository</url>
    </repository>
  </distributionManagement>

  <build>
    <extensions>
      <!-- Enabling the use of FTP -->
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
         <artifactId>wagon-ftp</artifactId>
         <version>1.0-beta-6</version>
      </extension>
    </extensions>
  </build>
  ...
</project>
复制代码

2、在maven的setting.xml中加入,因为我的是netbeans自带了一个maven, 所以两处都改写了

复制代码
<settings>
  ...
  <servers>
    <server>
      <id>ftp-repository</id>
      <username>user</username>
      <password>pass</password>
    </server>
  </servers>
  ...
</settings>
复制代码

 3、检查FTP是否登陆正确,可以用ftp xx.xx.xx.xx命令行测试,或者用FTP客户端测试,在我的过程中,命令行正确,但客户端连不上,当两个都能连上时,正常了。

运行: 

mvn deploy

 结果出错了,提示: Password not set.

经检查,是因为系统中有两个Maven, 一个是Netbeans自带的,一个是系统本来安装的,在之前更改setting,xml, 只改了Netbenans自带的,没有改/users/xxxx/.m2/settings.xml。

将同样的settings.xml复制到c:\users\xxxx\.m2\settings.xml,“Password not set” 错误消失。

又出现“FTP connect: refused”, 这个是FTP设置的错误(SSL),更改后问题消除,可以自动部署到远程服务器目录下。

 

通过ssh自动部署的参见:

https://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html

或者:

https://stackoverflow.com/questions/3300018/uploading-a-file-via-scp-with-maven-fails/3303525#3303525

 

posted @   万里沙来手一挥  阅读(2691)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示