Я использую задачу Ant FTP с maven-antrun-plugin
org.apache.maven.plugins
maven-antrun-plugin
ftp
generate-resources
run
...
проблема состоит в том, что моя сборка перестала работать, когда $ папки {ftp.server.remotedir} не существует.
Я пытался указать
skipFailedTransfers="true"
ignoreNoncriticalErrors="true
но они не решают проблему, и сборка продолжает перестать работать.
An Ant BuildException has occured: could not change remote directory: 550 /myBadDir: The system cannot find the file specified.
Вы знаете, как дать моей сборке знатока команду не делать заботы об этой ошибке задачи Ant / или как дать Муравью команду не делать сбоя в случае недостающего каталога?
Править:
Работы решения Peter.
Если Вы проблема как
[INFO] Error configuring: org.apache.maven.plugins:maven-antrun-plugin. Reason: java.lang.NoSuchMethodError: org.apache.tools.ant.util.FileUtils.close(Ljava/io/InputStream;)V
Просто исключите муравья из муравья-contrib
ant-contrib
ant-contrib
${ant-contrib.ver}
ant
ant
Возможно, в данном случае вам нужно думать больше как Ant , а не как Maven .
Вот одно решение. Используйте задачу ant-contrib trycatch . Вот пример pom.xml. Скопируйте блок кода в файл с именем pom.xml
и запустите mvn validate
, чтобы убедиться, что он работает.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.stackoverflow.q2666794</groupId>
<artifactId>trycatch</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>trycatch</name>
<url>http://maven.apache.org</url>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>trycatch</id>
<phase>validate</phase>
<configuration>
<tasks>
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<trycatch>
<try>
<fail>Failing ftp task should go here</fail>
</try>
<catch>
<echo>See the error was caught and ignored</echo>
</catch>
</trycatch>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b3</version>
<exclusions>
<exclusion>
<artifactId>ant</artifactId>
<groupId>ant</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>