无法创建FileTransferManager对象

时间:2017-04-28 20:35:32

标签: java openfire smack

我正在尝试在我的项目中实现文件传输但是无法创建FileTransferManager对象,它说:

  FileTransferManager中的 FileTransferManager(org.jivesoftware.smack.Connection)无法应用于(org.jivesoftware.smack.tcp.XMPPTCPConnection)

这是我的代码:

 FileTransferManager manager = new FileTransferManager(connection);
            // Where connection is an object of XMPPTCPConnection

使用Smack 4.2.0和Openfire服务器

3 个答案:

答案 0 :(得分:0)

问题可能是smack jar的版本。 使用最近的版本,例如3.2.1,它应该可以工作。

答案 1 :(得分:0)

如果我们在谈论类org.jivesoftware.smackx.filetransfer.FileTransferManager它没有公共构造函数,但它有一个静态工厂方法:

public static synchronized FileTransferManager getInstanceFor(XMPPConnection connection)

所以我会尝试以下方法:

FileTransferManager manager = FileTransferManager.getInstanceFor(connection);

您确定导入了正确的课程吗?因为你根本不应该调用它的构造函数。

答案 2 :(得分:0)

您可以使用 getDefaultFileTransferManager 来实现它:

public static FileTransferManager getDefaultFileTransferManager(FileTransferAuth fileTransferAuth)
                                                     throws ClientException,
                                                            ServiceException

参考:official doc for Class FileTransferManager