Ich versuche, eine Maven-Site auf einem FTP-Server bereitzustellen. Ich verwende den folgenden Code in meinem pom.xml:Bereitstellen der Maven-Site mit der FTP-Ant-Task
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>ftp</id>
<phase>post-site</phase>
<configuration>
<tasks>
<ftp action="del" server="nexus"
remotedir="/pub/${project.groupId}/${project.artifactId}"
userid="anonymous" password="[email protected]"
skipFailedTransfers="true" ignoreNoncriticalErrors="true">
<fileset>
<include name="**/" />
</fileset>
</ftp>
<ftp action="rmdir" server="nexus"
remotedir="/pub/${project.groupId}/${project.artifactId}"
userid="anonymous" password="[email protected]"
skipFailedTransfers="true" ignoreNoncriticalErrors="true">
<fileset>
<include name="**/" />
</fileset>
</ftp>
<ftp action="mkdir" server="nexus"
remotedir="/pub/${project.groupId}/${project.artifactId}"
userid="anonymous" password="[email protected]" depends="yes"
verbose="no" chmod="777">
</ftp>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Hier habe ich den vorherigen Standort bereitgestellt löschen und ein neues Verzeichnis für den Standort in der Post-Ort-Phase zu schaffen, so dass der deploy die Struktur hat es braucht. Das Problem ist, dass es nicht zum ersten Mal funktioniert - wenn der zu löschende Ordner nicht existiert. Beim ersten Mal muss ich das Verzeichnis manuell erstellen, damit es funktioniert. nach dem ersten Mal funktioniert es gut.
meine Frage ist, wie überprüfe ich die Existenz des Verzeichnisses vor dem Versuch, es zu löschen.
Danke, Ronen.
Vielen Dank, du hast recht. Die Aktionen "del" und "rmdir" sind redundant und funktionieren jetzt nur mit "mkdir" -Aktion. Es löscht einfach nicht die vorherige Version, sondern überschreibt sie einfach - womit ich leben kann. Danke. – rperez