I needed support for an untrusted HTTPs connection and none of the above approaches was supporting this easily. I found the [Java curl][1] library. Ant's Get task is nice but does not support this. The Java curl library is also offering a wider range of options and HTTP methods. For my purposes I have used this solution together with the Groovy Maven plugin:
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<version>2.2-SNAPSHOT</version>
<executions>
<execution>
<phase>integration-test</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
import static org.toilelibre.libe.curl.Curl.$;
try {
$("curl -k " +
"-o target/openapi.json https://localhost:1234/openapi");
}
catch (Exception e) {
System.err.println(e)
}
</source>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.toile-libre.libe</groupId>
<artifactId>curl</artifactId>
<version>0.0.29</version>
</dependency>
</dependencies>
</plugin>
[1]: https://github.com/libetl/curl
What a mess. I don't remember where I found this but I had to add the following to get M2Eclipse to be happy. Even more sad is that it isn't exactly easy to understand why this tag is needed.
<!-- language: xml -->
<build>
... various plugins ...
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse
m2e settings only. It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>test-compile</goal>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
There were a number of other issues with the M2Eclipse plug-in that simply didn't work with Spring Data. In the end I disabled M2Eclipse in favor of the [Apache Eclipse plug-in][1].
[1]: http://maven.apache.org/plugins/maven-eclipse-plugin/