내가 사용하고있어 FTP Ant task 문제가 폴더 $ {ftp.server.remotedir}가 존재하지 않는 경우 내 빌드가 실패한다는 것입니다Ant 태스크 실패시 Maven 빌드 실패를 방지하려면 어떻게해야합니까?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>ftp</id>
<phase>generate-resources</phase>
<configuration>
<tasks>
<ftp action="get"
server="${ftp.server.ip}"
userid="${ftp.server.userid}"
password="${ftp.server.password}"
remotedir="${ftp.server.remotedir}"
depends="yes" verbose="yes"
skipFailedTransfers="true"
ignoreNoncriticalErrors="true">
<fileset dir="target/test-classes/testdata">
<include name="**/*.html" />
</fileset>
</ftp>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
...
maven-antrun-plugin와.
나는
skipFailedTransfers="true"
ignoreNoncriticalErrors="true
를 지정하려하지만, 이러한 문제를 해결하지 않고 빌드가 실패 유지합니다.
An Ant BuildException has occured: could not change remote directory: 550 /myBadDir: The system cannot find the file specified.
은이 개미 작업 오류에 대한 상관 없어 내 받는다는 빌드를 지시하는 방법을 알고 있나요/또는 방법 누락 된 디렉토리의 경우 실패하지 않는 개미를 지시 하는가?
편집 :
피터의 솔루션이 작동합니다.
[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
같은
당신이 만약 문제가 그냥
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>${ant-contrib.ver}</version>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
을 추가 할 수 있지만, 왜 당신은을 사용하는 Maven의 generate-resources 단계에서 antcall을 실행한다. 배포 단계에 대신 참여할 수 있습니다. 조금 더 설명해 주시겠습니까 – khmarbaise
테스트를 실행하기 전에 프로젝트의 리소스를 업데이트하면됩니다. 실제로 Ant 태스크는 'generate-test-resources'단계에서 실행해야합니다. 테스트 클래스는 리소스 (배포시 필요하지 않음)를 사용합니다. ftp 폴더가 없으면 ant 태스크가 실패하지 않게하고 싶습니다. – mickthompson