我在使用 smack 4.2 Openfire 创建 XMPP 客户端时遇到问题
Posted
技术标签:
【中文标题】我在使用 smack 4.2 Openfire 创建 XMPP 客户端时遇到问题【英文标题】:I'm having trouble creating XMPP client using smack 4.2 Openfire 【发布时间】:2017-04-15 20:31:34 【问题描述】:我想创建一个连接到我的 Openfire 服务器的简单 XMPP 客户端。我在运行代码时遇到了以下问题。
代码:
public void setConnection()
try
XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration.builder();
config.setUsernameAndPassword(userName,password);
config.setResource("temp");
config.setXmppDomain("undercrroft");
AbstractXMPPConnection connection = new XMPPTCPConnection(config.build());
connection.connect();
catch (InterruptedException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();
catch (SmackException e)
e.printStackTrace();
catch (XMPPException e)
e.printStackTrace();
错误:
Information:java: Errors occurred while compiling module 'Messenger'
Information:javac 1.8.0_121 was used to compile java sources
Information:16/4/17 1:52 AM - Compilation completed with 2 errors and 0 warnings in 871ms
/home/paradox/Desktop/Project/Messenger/src/ConnectServer.java
Error:(28, 19) java: cannot access org.jxmpp.stringprep.XmppStringprepException
class file for org.jxmpp.stringprep.XmppStringprepException not found
Error:(29, 19) java: cannot access org.jxmpp.jid.DomainBareJid
class file for org.jxmpp.jid.DomainBareJid not found
这些是我的导入:
import org.jivesoftware.smack.AbstractXMPPConnection;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration;
谢谢。
【问题讨论】:
查看我的回答。可能是这个帮助***.com/questions/43508083/… Class Not Found 错误表明所有依赖项都不可用,如此答案中所述:***.com/questions/30562975/… 【参考方案1】:您缺少所需的 jxmpp 库。请查看 Smack 文档,其中列出了所有依赖项:https://github.com/igniterealtime/Smack/wiki/Smack-4.2-Readme-and-Upgrade-Guide#using-eclipses-android-development-tools-adt-ant-based-build
请注意,强烈建议使用依赖管理器(Gradle、Maven、Ivy)来防止此类问题。
【讨论】:
其实我确实解决了这个问题,因为我一直在使用旧的库。谢谢。【参考方案2】:更新库..!
这两个库是在较新的库中定义的。
【讨论】:
以上是关于我在使用 smack 4.2 Openfire 创建 XMPP 客户端时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Smack 从 android 客户端获取 openfire 在线注册用户?
Android 聊天是不是有任何 Openfire smack 替代方案?
无法通过 Smack API 使用 openfire 服务器发送/接收消息