参照官网文档:
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
或者: