【发布时间】:2020-11-19 15:47:11
【问题描述】:
我需要在我的项目中使用bouncycastle provider 库。
我已将其包含在 gradle 项目中。
apply plugin: 'application'
sourceCompatibility = '1.6'
version = '1.0.0'
mainClassName = 'path.to.main.file'
dependencies {
compile "org.mariadb.jdbc:mariadb-java-client:+"
compile "org.bouncycastle:bcprov-jdk16:+"
compile "commons-codec:commons-codec:+"
testCompile "junit:junit:+"
}
项目构建成功。但是当我尝试运行该项目时。找不到bouncycastle
Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider
at com.example.Server.main(Server.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 6 more
我该如何解决?
【问题讨论】:
-
错误的依赖。没有 bcprov-jdk16。应该是 bcprov-jdk15on
-
@JamesKPolk 你错了,有。直到版本 1.46,所以发现了一些东西。但在最近的版本中不是,正如我已经在下面写的那样。
标签: java gradle bouncycastle