當上一個目錄不在根目錄(ftp home)中時,JSch的SFTP通道無法更改目錄。它只發生在一些SFTP服務器上,而不是全部。JSCH(SFTP)在子目錄級別(第二級別)上更改目錄時失敗
例如目錄結構是這樣的:
- /
- 1級
- 2級
- 2級
- 1級
cd level-1
(OK)
cd level-2
(失敗)
它拋出這樣
4: Folder not found: /level-1/level-2
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2569)
at com.jcraft.jsch.ChannelSftp._realpath(ChannelSftp.java:2100)
at com.jcraft.jsch.ChannelSftp.cd(ChannelSftp.java:315)
錯誤的SFTP服務器返回/
爲真實路徑根異常。另一臺未失敗的服務器返回完整路徑列表/usr/account
。
不應該標題爲「(第二級)」嗎? –
好眼睛!更正了標題(發送級別 - >第二級別)。這是一個錯字。謝謝。 – user2292916