簡體   English   中英

Smack 異常 - 由我的 Java 安裝或 Smack 引起

[英]Smack Exception - caused by my Java installation or by Smack

我正在使用 Smack API 開發多用戶游戲客戶端。 我的 smack 應用程序有問題:我可以向服務器發送消息和請求,但我的應用程序無法讀取它的響應。

Exception in thread "Smack Packet Reader (0)" java.lang.ExceptionInInitializerError
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:169)
          at org.jivesoftware.smack.provider.ProviderManager.initialize(ProviderManager.java :193)
          at org.jivesoftware.smack.provider.ProviderManager.<init>(ProviderManager.java:436 )
          at org.jivesoftware.smack.provider.ProviderManager.getInstance(ProviderManager.jav a:134)
          at org.jivesoftware.smack.util.PacketParserUtils.parseIQ(PacketParserUtils.java:30 3)
          at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:229)
          at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:43)
          at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
Caused by: java.lang.NullPointerException
          at java.util.TimeZone.parseCustomTimeZone(TimeZone.java:767)
          at java.util.TimeZone.getTimeZone(TimeZone.java:471)
          at java.util.TimeZone.getTimeZone(TimeZone.java:465)
          at org.jivesoftware.smackx.workgroup.packet.TranscriptsProvider.<clinit>(Transcrip tsProvider.java:44)
          ... 9 more
No response from the server.:

這不是網絡(防火牆、nat ...)問題(在同一子網中的另一台 Macintosh 上,相同的代碼運行良好,沒有例外)。 我檢查了我的 MacOS 防火牆,它似乎沒問題...我可以做些什么來解決這個問題? 我不知道這個問題是否取決於 java 或 Smack ...提前致謝。

這更多是評論的延續,而不是完整的答案(但希望它有所幫助)。

java 源代碼中的違規行讀取zi.setID("GMT+00:00"); . zi 是sun.util.calendar.ZoneInfo類型。 這只能意味着 zi 是null 進一步創建如下:

zi = ZoneInfoFile.getZoneInfo("GMT");

所以我寫了下面的小測試程序:

class Foobar {
    public static void main(String[] args) {
        sun.util.calendar.ZoneInfo zi = sun.util.calendar.ZoneInfoFile.getZoneInfo("GMT");
        zi.setID("GMT+00:00:00");
    }
}

我沒有得到任何NullPointerException或任何其他類型的異常。 也許您可以運行相同的測試程序,看看會發生什么。 我的猜測是它會為你失敗。 它可能表明 Java 安裝失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM