2009-07-01 6 views
9

Ich benutze Maven2 und möchte meine generierte Site auf einen Webserver mit FTP bereitstellen.Maven-Site mit ftp bereitstellen

Ich habe versucht, zu verwenden:

<distributionManagement> 
    <site> 
     <id>website</id> 
     <url>ftp://host/pub/</url> 
    </site> 

</distributionManagement> 

das Problem, dass ein Fehler erhalten, dass ftp nicht unterstützt wird. könnte es sein, dass diese grundlegende Funktion nicht funktioniert.

Danke,

Ronen.

Antwort

8

Wie ich Ihre Absicht beim ersten Mal falsch interpretiert. Hier ist die richtige Lösung:

Deploy-Website via FTP-Server

<project> 
    [...] 
    <distributionManagement> 
    <repository> 
     <id>ftpserver</id> 
     <name>some ftpserver name</name> 
     <url>ftp://host/pub</url> 
    </repository> 
    </distributionManagement> 
    <build> 
    <extensions> 
     <!-- uncomment this one if you use maven < 2.1.0 --> 
     <!-- and want to copy directories too :) --> 
     <!-- 
     <extension> 
     <groupId>org.mod4j.patched</groupId> 
     <artifactId>wagon-ftp</artifactId> 
     <version>1.0-beta-2-PATCHEDv3-WAGON-148</version> 
     </extension> 
     --> 

     <!-- uncomment this one (or next) if you use maven >= 2.1.0 --> 
     <!-- 
     <extension> 
     <groupId>org.mod4j.patched</groupId> 
     <artifactId>wagon-ftp</artifactId> 
     <version>1.0-beta-5-PATCHED-v1</version> 
     </extension> 
     --> 
     <!-- i guess you could also use this one instead of the --> 
     <!-- org.mod4j.patched version too, but maybe they patched --> 
     <!-- something substantial here too in regrad to the apache version --> 
     <!-- 
     <extension> 
     <groupId>org.apache.maven.wagon</groupId> 
     <artifactId>wagon-ftp</artifactId> 
     <version>1.0-beta-5</version> 
     </extension> 
     --> 

     <!-- don't uncomment this one, even if you use maven < 2.1.0. --> 
     <!-- except the you don't want to be able to copy directories --> 
     <!-- and you know you want too :-) (why would you?) --> 
     <!-- 
     <extension> 
     <groupId>org.apache.maven.wagon</groupId> 
     <artifactId>wagon-ftp</artifactId> 
     <version>1.0-beta-2</version> 
     </extension> 
     --> 
    </extensions> 
    </build> 
    [...] 
</project> 

Und in Ihrem settings.xml Sie benötigen

<settings> 
    ... 
    <servers> 
    <server> 
     <id>ftpserver</id> 
     <username>user</username> 
     <password>pass</password> 
    </server> 
    </servers> 
    ... 
</settings> 
+0

Ich versuchte dies. Ich bekomme Folgendes: [FATAL ERROR] org.apache.maven.plugins.site.SiteDeployMojo # execute() verursachte einen Verbindungsfehler (java.lang.AbstractMethodError) und möglicherweise veraltet. Checke die Realms: [FATAL ERROR] Plugin realm = app0.child-container [org.apache.maven.plugins: maven-site-plugin] Ich muss auch Site-Site-Plugin bereitstellen und nicht artefact - deploy-Plugin bereitstellen – rperez

+0

aktualisierte Antwort, diesmal mit der richtigen Antwort auf die Bereitstellung der Website (nicht Artefakt) über FTP – jitter

+0

Vielen Dank. es funktionierte. Ich entschied mich für 1.0-Beta-5-PATCHED-v1. Ich frage mich, wie kommt diese in Maven-Site-Plugin nicht angeboren ist, wie der Maven-Website Lebenszyklus der Website-deploy Phase dank erklären wieder – rperez