2017-06-28 7 views
0

Smack APIをまだ使用していません。ログインしようとしたときに、私はこの例外を得たSmack 4.2.0ログイン時のNullPointerException

をここに私のコードです:。

XMPPTCPConnectionConfiguration configuration = XMPPTCPConnectionConfiguration.builder() 
       .setUsernameAndPassword(username, password) 
       .setXmppDomain(domain) 
       .setHostAddress(InetAddress.getByName(host)) 
       .setPort(port) 
       .build(); 
XMPPTCPConnection connection = new XMPPTCPConnection(configuration); 
connection.connect(); 
connection.login(); 

は、ここに私のログです:

Exception in thread "main" java.lang.NullPointerException 
at java.util.Collections$UnmodifiableCollection.<init>(Collections.java:1026) 
at java.util.Collections$UnmodifiableSet.<init>(Collections.java:1128) 
at java.util.Collections.unmodifiableSet(Collections.java:1118) 
at org.jivesoftware.smack.ConnectionConfiguration.getEnabledSaslMechanisms(ConnectionConfiguration.java:476) 
at org.jivesoftware.smack.SASLAuthentication.selectMechanism(SASLAuthentication.java:359) 
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:191) 
at org.jivesoftware.smack.tcp.XMPPTCPConnection.loginInternal(XMPPTCPConnection.java:385) 
at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:491) 
at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:448) 
at Main.main(Main.java:23) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) 

答えて

0

名探偵コナン。最初は、ライブラリとしてsmack coreとsmack tcpしか使用しませんでした。私の場合、smack saslをライブラリとして使う必要があることが判明しました。 smack hereをダウンロードし、smack sasl jarをライブラリとしてlibsフォルダにコピーします。

+0

Mavenの依存関係を解決できるビルドシステム(/ IDE)を使用することをお勧めします。 Smack jarファイルをコピーするだけで、いくつかの推移的な依存関係が見落とされ、最終的にさらなる問題が発生します。 – Flow

+0

あなたの助言のために@Flowありがとう。 –

+0

@Flow私は同じ問題を抱えています。 saslのgradle依存関係を教えてください。私は[Here](https://github.com/igniterealtime/Smack/wiki/Smack-4.2-Readme-and-Upgrade-Guide)を読んだが、saslには依存していない。 – ADM

関連する問題