Apache Mina SFTP SftpSubsystem.Factory()

Apache Mina SFTP SftpSubsystem.Factory()

我正在尝试使用 Apache Mine SSHD v1.2.0 设置一个简单的 SFTP 服务器。

我看了网上的几个例子, and here.

然而,它们 所有 都有相同的行,我无法让 NetBeans 解析。 NetBeans 告诉我它无法在 SftpSubsystem 中找到 Factory。有问题的行如下所示:

sftpServer.setSubsystemFactories (
    Arrays. <NamedFactory <Command >> asList (new SftpSubsystem.Factory ()));

我的 main 看起来像下面这样:

SshServer sftpServer = SshServer.setUpDefaultServer ();
sftpServer.setPort (PORT);
sftpServer.setKeyPairProvider (new SimpleGeneratorHostKeyProvider (new File("hostkey.ser")));
sftpServer.setSubsystemFactories (
     Arrays. <NamedFactory <Command >> asList (new SftpSubsystem.Factory ()));
sftpServer.setPasswordAuthenticator (new PasswordAuthenticator () {
    @Override
    public boolean authenticate (String username, String password, ServerSession session) {
       return true;
    }
});
sftpServer.start ();
while(true);

我错过了什么?我只是想连接到虚拟 SFTP 服务器并列出一些目录并上传一两个文件。问题是我想从现有的 java 应用程序中执行此操作。

在最新版本的 Apache SSHD 中,它是 SftpSubsystemFactory:

sftpServer.setSubsystemFactories(
    Arrays.<NamedFactory<Command>>asList(new SftpSubsystemFactory()));

我使用的是 2.6.0 版本,现在您不需要进行类型转换。你可以简单地说:

sftpServer.setSubsystemFactories(Arrays.asList(new SftpSubsystemFactory()));