Java.lang.NoClassDefFoundError: org.bouncycastle.jce.provider.BouncyCastleProvider 这个错误意味着Java无法找到所需的BouncyCastleProvider类。

10
我在配置Bouncy Castle与我的websphere时遇到了问题。我正在处理PDF文档签名,并且需要依赖Bouncy Castle。我正在使用websphere v8.5java 6bcprov-jdk15on-1.47.jar
目前,我已将此jar包包含到我的项目库中,并将其部署到WAS中。所以它会抛出错误:

java.lang.NoClassDefFoundError: org.bouncycastle.jce.provider.BouncyCastleProvider.

在得到这个错误后,我尝试通过将bcprov-jdk15on-1.47.jar放入[WAS_HOME]/java/jre/lib/ext/并更新java.security来配置Bouncy Castle到WAS。但在启动应用服务器时,服务器无法启动。
请问你能否为我提供指导吗?

你如何构建你的war/ear? - Konstantin Yovkov
我们能看到出错的代码吗? - Tommy
@kocko:我已经开发了独立的PDF签名,并且它正常工作。然后,我将该功能与IBM Case Manager自定义插件集成。为此,我将Bouncy Castle Jar放入我的自定义插件项目的lib中,并在build.xml中进行了注册。 - Bhavik vora
你的补丁更新已经落后了几年?请将服务器至少升级到8.5.5.x版本。 - Miller Cy Chan
2个回答

3

将以下内容添加到pom.xml以克服以下异常。

javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: 
   java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider
    org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:432)

弹性城堡提供者 » 1.46

<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk16</artifactId>
    <version>1.46</version>
</dependency>

0
如果您使用Maven构建应用,请在pom.xml中添加此依赖项。
如果您将此jar作为外部引用从文件系统中使用,请确保随war一起导出(在Eclipse中,您可以从构建路径库设置导出选项)。

我正在使用Ant构建应用程序,并将其外部jar引用添加到其build.xml文件中。 - Bhavik vora

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接