2011-08-01 69 views
2

我遇到了一個問題,其中一個ant scp任務在文件集拷貝過程中掛起。任務是:螞蟻scp任務在Linux上掛起

<scp file="${usr}:${pwd}@${hst}:${dir}/*" todir="${to}" trust="true"/> 

它成功複製了大量文件,然後掛起。

請注意,它從中複製的主機是localhost,但這應該沒有區別。

我也使用了相同的ant腳本將文件從同一臺Linux主機複製到Windows機器上,並且這種方式沒有任何問題。

谷歌搜索顯示在2007年左右有一個類似的問題,http://www.symphonious.net/2007/10/23/ant-scpssh-task-hangs-or-never-disconnects/,但升級到最新版本的ant(或降級jsch)的解決方案並沒有解決我的問題。 (這個缺陷也在https://issues.apache.org/bugzilla/show_bug.cgi?id=41090提及)

我已經使用ANT 1.8.2,ANT 1.7.1和ANT 1.6.5,他們都有這個問題。 我使用jsch 0.1.44,但即使使用jsch的更高版本,我也會遇到這個問題。

任何想法?

+0

目標主機的發行版和版本(操作系統和OpenSSH)?這個問題可以在另一端... – pyroscope

+0

openssh v3.9p1,openssl 0.9.7a。該發行版是運行Linux內核2.6.9的RHEL4.8的衍生產品。 –

回答

3

找到解決方法解決我的問題。它的使用SCP任務的SFTP =「true」屬性,像這樣:

<scp file="${usr}:${pwd}@${hst}:${dir}/*" todir="${to}" trust="true" sftp="true"/> 
2

當我使用選項SFTP =「真」從一個maven-antrun-插件,我得到了下面的錯誤。 [錯誤]圍繞Ant部分...... @:該類型不支持「sftp」屬性。

我能夠獲得通過切換回舊版本jsch的這方面的工作,特別是0.1.29

 <dependency> 
     <groupId>com.jcraft</groupId> 
     <artifactId>jsch</artifactId> 
     <version>0.1.29</version> 
     </dependency> 
+0

我有類似的問題,從0.1.53回到0.1.29也幫助我。謝謝! – tok