この行を見てください:
${server_username}:${server_password}@@{server}:/tmp
二重 @@ は問題を引き起こします。user:pass@server の代わりに user:passserver として表示されるため、リモート ssh サーバーに接続できません。
ant に @ be を残すように指示するにはどうすればよいですか?
これは私のコードです:
<for list="${externalLibs}" param="library">
<sequential>
<for list="${servers}" param="server">
<sequential>
<echo> Copying @{library} to @{server} ${server_username}:${server_password}@@@{server}:/tmp/@{library}/${@{library}}/
</echo>
<scp todir="${server_username}:${server_password}@@@{server}:/tmp/@{library}/${@{library}}/">
<fileset dir="/tmp/@{library}/${@{library}}/" />
</scp>
</sequential>
</for>
</sequential>
</for>
echo コマンドでは、次のように表示されます。
LibraryName を myserver.domain.com username:password@{server}:/tmp/LibraryName/LibraryBar にコピーしています