我尝试使用Mave-Wagon插件通过HTTP-GET下载文件:
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http</artifactId>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<executions>
<execution>
<id>download-zip</id>
<phase>generate-sources</phase>
<goals>
<goal>download-single</goal>
</goals>
<configuration>
<url>http://server.com/Download/</url>
<fromFile>FileDownload.aspx?param=asdf&param2=1234</fromFile>
<toDir>${project.build.directory}</toDir>
<toFile>targetfilename.zip</toFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
问题是什么?在目标文件名中,{<1}}仅在下载后才会应用。
当我通过普通浏览器下载URL时,浏览器还为我提供了一个“干净”的文件名。这个HTTP-Header被Wagon-HTTP忽略了吗?
有没有办法将参数传递给URL或让Maven使用其他/已清理的文件名?
为完整起见,整个例外是
toFile
答案 0 :(得分:1)
Wagon插件公开了Wagon API,而Wagon API 不是一个通用的远程文件系统访问API。它仅用于将内容推入和推出Maven存储库,而不是任意文件到任意位置。我建议在this example中使用maven-antrun-plugin和ssh。