Как я предотвращаю сбой сборки Знатока при отказе задачи Ant?

Я использую задачу 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
         
    

6
задан Tunaki 31 January 2016 в 22:57
поделиться

1 ответ

Возможно, в данном случае вам нужно думать больше как 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>
8
ответ дан 10 December 2019 в 02:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: