当我尝试启动我的应用程序时出现以下错误...
[java.lang.IllegalStateException:com.tivoli.pd.jutil.kb$1.run(kb$1.java:41) 处的 java.lang.NullPointerException^M 处 java.security.AccessController.doPrivileged(AccessController.java: 229)^M 在 com.tivoli.pd.jutil.kb.c(kb.java:141)^M 在 com.tivoli.pd.jutil.kb.(kb.java:56)^M 在 com.tivoli。 pd.jutil.PDContext.(PDContext.java:76)^M at com.tivoli.pd.jazn.PDAuthorizationContext.(PDAuthorizationContext.java:66)^M
我仔细检查了配置文件是否可以访问并且我可以阅读它。我正在使用的代码如下所示...
aC = new PDAuthorizationContext(cFile);
有没有办法获得有关导致 NPE 的原因的更多信息?
更多信息!!!
在调试了一下之后,问题似乎来自这段代码(他们使用 progaurd,所以很难 100% 有信心)......
Certificate[] arrayOfCertificate1 = ((KeyStore)???).getCertificateChain("DefaultID");
//Throws Null pointer (presumably because array is null)
Certificate localCertificate1 = arrayOfCertificate1[0];
更多信息
这似乎是某种依赖冲突(猜测),因为如果我只是使用 PDAuthorizationContext 创建一个示例应用程序,它就可以正常工作。