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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM