0

当我尝试启动我的应用程序时出现以下错误...

[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 创建一个示例应用程序,它就可以正常工作。

4

1 回答 1

2

问题与我使用的 PD.jar 版本有关。虽然我认为我使用的是一个版本,但我正在使用另一个版本。这是因为版本已在我的 WebSphere 库中注册(在 Eclipse 的构建路径下)。引入适当的库后,一切正常。

于 2013-03-27T21:33:08.560 回答