首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

androidpn(小强版)错误:ExceptionInInitializerError

2012-08-22 
androidpn(小强版)异常:ExceptionInInitializerError今天记录一下自己使用androidpn出现的异常处理:[pool-

androidpn(小强版)异常:ExceptionInInitializerError
今天记录一下自己使用androidpn出现的异常处理:

[pool-1-thread-1] ERROR: org.androidpn.server.xmpp.net.XmppIoHandlerexceptionCaught : java.lang.ExceptionInInitializerError

这个是第一个异常,这个异常发生之后,会接着很多个如下异常:

[pool-1-thread-10] ERROR: org.androidpn.server.xmpp.net.XmppIoHandlerexceptionCaught : java.lang.NoClassDefFoundError: Could not initialize class org.androidpn.server.xmpp.ssl.SSLConfig

上个礼拜要提交项目的时候才留意到这么一行异常(因为之前用了struts的token,所以后台很多token的警告,所以没有留意长长的一段异常文字),于是自己debug了一下,找到了引起异常的地方,就是一个空指针的异常,说出来还真是没有什么得意的地方:

 

private static URL classPath ; static {    storeType = Config.getString("xmpp.ssl.storeType", "JKS");        keyStoreLocation = Config.getString("xmpp.ssl.keystore", "conf"                + File.separator + "security" + File.separator + "keystore");        keyStoreLocation = classPath.getPath() + File.separator                + keyStoreLocation;        keyPass = Config.getString("xmpp.ssl.keypass", "changeit");        trustStoreLocation = Config.getString("xmpp.ssl.truststore", "conf"                + File.separator + "security" + File.separator + "truststore");        trustStoreLocation = classPath.getPath()                + File.separator + trustStoreLocation;        trustPass = Config.getString("xmpp.ssl.trustpass", "changeit");        classPath = SSLConfig.class.getResource("/");


 

看到classPath,很明显,这个classPath会引起空指针异常,所以,只要把classPath = SSLConfig.class.getResource("/");往上提,提到static块里面的第一行,就ok了。

 

想来应该是写这个版本的人有点不小心所致,不过问题不大,仍然感谢他的奉献精神,各位有看到这种异常的,还希望对大家有帮助。

如果有错,还希望指出。

热点排行