У меня есть проект Grails, в котором я хочу использовать Bouncycastle для вычисления хэша Sha512 строки.Класс BouncyCastleProvider не найден в Grails 2.5.0
Когда я называю 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
не найден при выполнении приложения?
ОК, я просто понял, что я могу вычислить хэш без добавления BouncyCastle, как SecurityProvider .... но тем не менее, я до сих пор не понимаю, почему я не могу загрузить класс, который включен в дистрибутив Grails ... – Tobson