在Grails 2.5.0中找不到BouncyCastleProvider类

在Grails 2.5.0中找不到BouncyCastleProvider类,grails,classloader,bouncycastle,Grails,Classloader,Bouncycastle,我有一个Grails项目,我想在其中使用Bouncycastle计算字符串的Sha512散列 当我调用Security.addProvider(new BouncyCastleProvider())时,我收到以下错误消息: | Error 2015-06-21 15:34:53,242 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener - Error initializing the application: o

我有一个Grails项目,我想在其中使用Bouncycastle计算字符串的Sha512散列

当我调用
Security.addProvider(new BouncyCastleProvider())
时,我收到以下错误消息:

| Error 2015-06-21 15:34:53,242 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener  - Error initializing the application: org/bouncycastle/jce/provider/BouncyCastleProvider
Message: org/bouncycastle/jce/provider/BouncyCastleProvider
Line | Method
->>   49 | doCall                           in BootStrap$_closure1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    327 | evaluateEnvironmentSpecificBlock in grails.util.Environment
|    320 | executeForEnvironment . . . . .  in     ''
|    296 | executeForCurrentEnvironment     in     ''
|    262 | run . . . . . . . . . . . . . .  in java.util.concurrent.FutureTask
|   1145 | runWorker                        in java.util.concurrent.ThreadPoolExecutor
|    615 | run . . . . . . . . . . . . . .  in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run                              in java.lang.Thread
Caused by ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider
->>  366 | run                              in java.net.URLClassLoader$1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    355 | run                              in     ''
|    354 | findClass . . . . . . . . . . .  in java.net.URLClassLoader
|    425 | loadClass                        in java.lang.ClassLoader
|     49 | doCall . . . . . . . . . . . . . in BootStrap$_closure1
|    327 | evaluateEnvironmentSpecificBlock in grails.util.Environment
|    320 | executeForEnvironment . . . . .  in     ''
|    296 | executeForCurrentEnvironment     in     ''
|    262 | run . . . . . . . . . . . . . .  in java.util.concurrent.FutureTask
|   1145 | runWorker                        in java.util.concurrent.ThreadPoolExecutor
|    615 | run . . . . . . . . . . . . . .  in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run                              in java.lang.Thread
在我的IDE(IntelliJ)中,导入
import org.bouncycastle.jce.provider.BouncyCastleProvider
似乎已解析,我可以导航到类的位置


为什么在执行应用程序时找不到
BouncyCastle

您是否在正在使用的JRE的JCE安全策略文件中添加了提供程序的条目

JAVA_HOME\jre\lib\security\java.security
n比已存在的最后一个条目多一个


您是否在正在使用的JRE的JCE安全策略文件中添加了提供程序的条目

JAVA_HOME\jre\lib\security\java.security
n比已存在的最后一个条目多一个


好的,我刚刚意识到我可以计算散列,而无需添加BouncyCastle作为SecurityProvider…但是,我仍然不明白,为什么我不能加载Grails发行版中包含的类…好的,我刚刚意识到我可以计算散列,而无需添加BouncyCastle作为SecurityProvider…但是,我仍然不明白,为什么我不能加载一个包含在Grails发行版中的类。。。