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>
問題は?ダウンロードが行われた後toFile
にのみ適用されるため、ターゲットファイル名に。
通常のブラウザでURLをダウンロードすると、ブラウザから「クリーン」で素敵なファイル名も表示されます。このHTTPヘッダーはWagon-HTTPによって無視されますか?
パラメータをURLに渡す方法、またはMavenに別の/クリーンアップされたファイル名を使用させる方法はありますか?
完全を期すために、全体の例外は
Caused by: java.io.FileNotFoundException: Illegal Syntax in filename (sorry this is an translation)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
at java.io.FileOutputStream.<init>(FileOutputStream.java:145)
at org.apache.maven.wagon.LazyFileOutputStream.initialize(LazyFileOutputStream.java:154)
at org.apache.maven.wagon.LazyFileOutputStream.write(LazyFileOutputStream.java:126)
at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:492)
at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:328)
... 25 more