4

Scala アプリケーションに Apache MINA FTP サーバーを埋め込もうとしていますが、うまくスパイクできません。私はApache FtpServer 1.05を使用していますが、サイトでいくつかの例を見つけましたが、 Scala 化するとうまくいかないようです。

これが私のコードです:

package aperture

import org.apache.ftpserver.listener.ListenerFactory
import org.apache.ftpserver.ftplet._
import org.apache.ftpserver.{FtpServerFactory, FtpServer}
import java.io.File
import org.apache.ftpserver.usermanager.{UserFactory, SaltedPasswordEncryptor, PropertiesUserManagerFactory}

object Main {
    def main(args: Array[String]) {
        val serverFactory: FtpServerFactory = new FtpServerFactory()
        val listenerFactory: ListenerFactory = new ListenerFactory()

        listenerFactory.setPort(2221);
        listenerFactory.setServerAddress("localhost")
        listenerFactory.setImplicitSsl(false);

        serverFactory.addListener("default", listenerFactory.createListener())

        val userManagerFactory: PropertiesUserManagerFactory = new PropertiesUserManagerFactory()
        userManagerFactory.setFile(new File("myusers.properties"))
        userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor())
        val userManager: UserManager = userManagerFactory.createUserManager()

        val userFact: UserFactory = new UserFactory()
        userFact.setName("myNewUser")
        userFact.setPassword("secret")
        userFact.setHomeDirectory("ftproot")
        val user: User = userFact.createUser()
        userManager.save(user)

        serverFactory.setUserManager(userManagerFactory.createUserManager())

        // start the server
        val server: FtpServer = serverFactory.createServer()
        server.start()
    }
}

コードは有効で、サーバーはポート 2221 で起動しているように見えますが、接続できません:ftp: localhost:2221: No address associated with hostnameftp: 127.0.0.1:2221: Name or service not known.

何かご意見は?

4

1 に答える 1

3

私は2つの間違ったことをしていました:

  1. ftp localhost:2221正しい方法(コロンの代わりにスペースを使用)ではなく、コマンドを使用してftpサーバーに接続していましたftp localhost 2221
  2. UserManager を作成しましたが、使用することはありませんでした。に変更serverFactory.setUserManager(userManagerFactory.createUserManager())しましたserverFactory.setUserManager(userManager)
于 2011-06-09T22:03:29.963 に答える