以前のディレクトリがルート ディレクトリ (ftp ホーム) にない場合、JSch の SFTP チャネルはディレクトリの変更に失敗します。一部の 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