Smack 无法连接 Openfire 服务器

问题描述 投票:0回答:2

我正在尝试使用 smack 连接 OpenFire 服务器。这是我的代码

public static void main(String[] args) throws SmackException, IOException, XMPPException, InterruptedException {
    XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
        .setUsernameAndPassword("admin", "admin").setXmppDomain("XYZ")
        .setHost("localhost").build();

    AbstractXMPPConnection connection = new XMPPTCPConnection(config);
    connection.connect(); // Establishes a connection to the server
    connection.login(); // Logs in

  }

pom.xml

<dependency>
    <groupId>org.igniterealtime.smack</groupId>
    <artifactId>smack-extensions</artifactId>
    <version>4.3.5</version>
</dependency>
<dependency>
    <groupId>org.igniterealtime.smack</groupId>
    <artifactId>smack-core</artifactId>
    <version>4.3.5</version>
</dependency>
<dependency>
    <groupId>org.igniterealtime.smack</groupId>
    <artifactId>smack-tcp</artifactId>
    <version>4.3.5</version>
</dependency>
<dependency>
    <groupId>org.igniterealtime.smack</groupId>
    <artifactId>smack-im</artifactId>
    <version>4.3.5</version>
</dependency> 

我收到以下错误

Exception in thread "main" java.lang.NullPointerException
    at org.jivesoftware.smack.util.stringencoder.Base64.encode(Base64.java:64)
    at org.jivesoftware.smack.util.stringencoder.Base64.encode(Base64.java:60)
    at org.jivesoftware.smack.util.stringencoder.Base64.encodeToString(Base64.java:42)
    at org.jivesoftware.smackx.caps.EntityCapsManager.generateVerificationString(EntityCapsManager.java:763)
    at org.jivesoftware.smackx.caps.EntityCapsManager.generateVerificationString(EntityCapsManager.java:630)
    at org.jivesoftware.smackx.caps.EntityCapsManager.updateLocalEntityCaps(EntityCapsManager.java:526)
    at org.jivesoftware.smackx.caps.EntityCapsManager.<init>(EntityCapsManager.java:347)
    at org.jivesoftware.smackx.caps.EntityCapsManager.getInstanceFor(EntityCapsManager.java:419)
    at org.jivesoftware.smackx.caps.EntityCapsManager$1.connectionCreated(EntityCapsManager.java:123)
    at org.jivesoftware.smack.AbstractXMPPConnection.<init>(AbstractXMPPConnection.java:363)
    at org.jivesoftware.smack.tcp.XMPPTCPConnection.<init>(XMPPTCPConnection.java:324)
xmpp openfire smack
2个回答
0
投票

添加以下依赖项解决了我的问题

<dependency>
    <groupId>org.igniterealtime.smack</groupId>
    <artifactId>smack-java7</artifactId>
    <version>4.3.5</version>
</dependency>    

0
投票

曼尼什·库马尔 这对我有用,干得好! 我也遇到了同样的问题,按照你的方法成功解决了。 谢谢你。

© www.soinside.com 2019 - 2024. All rights reserved.