当我尝试启动应用程序时出现以下错误...
[java.lang.IllegalStateException:java.lang.NullPointerException ^ M. 在com.tivoli.pd.jutil.kb $ 1.run(kb $ 1.java:41)^ 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 在com.tivoli.pd.jazn.PDAuthorizationContext。(PDAuthorizationConte xt.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创建一个示例应用程序,它可以正常工作。
答案 0 :(得分:2)
问题与我使用的PD.jar版本有关。虽然我以为我使用的是一个版本但我正在使用另一个版本。这是因为版本已在我的WebSphere库中注册(在eclipse中的构建路径下)。一旦引入了适当的库,一切都会奏效。