參照官網文檔:
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
或者: