ANT 経由でパスワードにアンパサンド (&) が含まれるサーバーにファイルを FTP 送信しようとしています。次の ANT ターゲット:
<target name="upload_zip">
<ftp server="myhost.net"
userid="myusername"
password="topsecret&"
port="21"
remotedir="/public_html"
passive="yes"
binary="yes">
<fileset dir=".">
<include name="${updatefile}" />
</fileset>
</ftp>
</target>
次のメッセージで失敗します。
error during FTP transfer: java.net.SocketException: Permission denied: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:150)
at ... // really long stack trace
認証に失敗しているようです。アンパサンドをエスケープしないと、ビルド ファイルの形式が正しくありません。アンパサンドを正しくエスケープしていますか、それとも何か間違っていますか?