java smack 例子_关于JAVA利用smack连接openfire的jar依赖问题

一、GitHub上的maven依赖

直接使用maven依赖

二、关于smack-4.3.4的jar包相关依赖

有两种方式

①、引入maven依赖,比4.2.0版本多了一项

②、可以在https://www.igniterealtime.org/downloads/download-landing.jsp?file=smack/smack-4.3.4.zip这里下载最新的4.3.4的smack安装包,然后就可以通过和方法①中相关jar包比较差别,引入其他像是jxmpp-core-0.6.4.jar, jxmpp-jid-0.6.4.jar, jxmpp-util-cache-0.6.4.jar, minidns-core-0.3.4.jar, xpp, xpp3_xpath-1.1.4.jar, minidn-cient-0.3.4.jar, minidns-dnssec-0.3.4.jar, minidns-hla-0.3.4.jar, minidns-iterative-resolver-0.3.4.jar以及xpp3-1.1.4c.jar,

注意:最后有个感觉很bug的地方就是maven引入依赖的工程,正常的连接可以建立,可是方法①中直接下载下来的依赖如果运行方法②中测试通过的代码会报一个错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/xbill/DNS/TextParseException

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:348)

at org.jivesoftware.smack.SmackInitialization.loadSmackClass(SmackInitialization.java:193)

at org.jivesoftware.smack.SmackInitialization.parseClassesToLoad(SmackInitialization.java:173)

at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:143)

at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:128)

at org.jivesoftware.smack.SmackInitialization.(SmackInitialization.java:93)

at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:93)

at org.jivesoftware.smack.ConnectionConfiguration.(ConnectionConfiguration.java:64)

at com.yoplore.smack.SmackTest.main(SmackTest.java:15)

Caused by: java.lang.ClassNotFoundException: org.xbill.DNS.TextParseException

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 10 more

得引入dns-2.0.8.jar才行,maven坐标是

org.xbill

dns

2.0.8

至此,整个smack连接openfire的基础jar包依赖解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值