gih*_*han 3 java sftp apache-mina
我使用Apache Mina sshd-core版本0.10.0.由于文件上传的一些问题我不得不将版本更改为0.14.0.在那里我无法覆盖getVirtualUserDir()方法.以下是我的示例代码,
sshd.setFileSystemFactory(new NativeFileSystemFactory() {
@Override
public FileSystemView createFileSystemView(final Session session) {
return new NativeFileSystemView(session.getUsername(), false) {
@Override
public String getVirtualUserDir() {
return "C:/root";
}
};
};
});
Run Code Online (Sandbox Code Playgroud)
我想知道如何在Apache Mina sshd-core版本0.14.0中克服这个问题.谢谢.
getVirtualUserDirMina SSHD 0.10.0 的目的是设置文件系统的初始目录.
在Mina SSHD 0.14.0中current,NativeFileSystemView构造函数的参数提供了相同的目的:
public NativeFileSystemView(String userName, Map<String, String> roots, String current)
Run Code Online (Sandbox Code Playgroud)
请注意,文档声称不直接调用构造函数NativeFileSystemFactory而是使用.但是NativeFileSystemFactory永远不会调用构造函数的重载.评论已过时或工厂尚未完成.
或者它是一个错字,它应该实际上提到VirtualFileSystemFactory.你可能应该使用什么工厂而不是覆盖NativeFileSystemFactory.
sshd.setFileSystemFactory(new VirtualFileSystemFactory("C:/root"));
Run Code Online (Sandbox Code Playgroud)