如何在Apache Mina sshd-core版本0.14.0中覆盖getVirtualUserDir()

我使用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"; } }; }; }); 

我想知道如何在Apache Mina sshd-core版本0.14.0中克服这个问题。 谢谢。

Mina SSHD 0.10.0中getVirtualUserDir的目的是设置文件系统的初始目录。

在Mina SSHD 0.14.0中, NativeFileSystemView构造函数的current参数提供了相同的目的:

 public NativeFileSystemView(String userName, Map roots, String current) 

请注意,文档声称不直接调用构造函数,而是使用NativeFileSystemFactory 。 但是NativeFileSystemFactory从不调用构造函数的重载。 评论已过时或工厂尚未完成。

或者它是一个错字,它应该实际上引用VirtualFileSystemFactory 。 你可能应该使用什么工厂而不是重写NativeFileSystemFactory

 sshd.setFileSystemFactory(new VirtualFileSystemFactory("C:/root"));