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
或者: