Grails jasypt-encryption: не удается разрешить импорт GormEncryptedStringType

Я установил jasypt-шифрование, как я считаю правильно:

в моем закрытии плагинов BuildConfig.groovy:

compile ":jasypt-encryption:1.3.1"
runtime ":hibernate4:4.3.5.5" 

Итак, у меня есть правильная версия jasypt для соответствующей версии спящего режима.

в моем Config.groovy:

jasypt {
algorithm = "PBEWITHSHA256AND256BITAES-CBC-BC"
providerName = "BC"
password = "test"
keyObtentionIterations = 1000
}

И в одном из моих классов домена, для которого мне нужно шифрование, есть ошибка Groovy:unable to resolve class com.bloomhealthco.jasypt.GormEncryptedStringType:

import com.bloomhealthco.jasypt.*                       //ok
import com.bloomhealthco.jasypt.GormEncryptedStringType //error

Итак, jasypt импортируется нормально, потому что первая строка импорта работает нормально, но оказывается, что там, откуда импортирует Grails, нет такого класса, как GormEncryptedStringType. Так ли это?

Я совсем запутался, я попросил помощи на irc-канале grails, также я связался с человеком, на которого указала официальная вики - dtanner.

По его совету я скачал исходники с гитхаба и запустил grails test-app в папке test-jasypt, и все тесты прошли, значит, как он говорит, проблема должна быть в моем проекте. Также в этом тестовом проекте импорт GormEncryptedStringType работает нормально. Оба проекта находятся на Grails 2.4.3.


person lxknvlk    schedule 09.12.2014    source источник


Ответы (1)


Еще пара идей:
1. выполните grails clean-all проект, а затем снова попробуйте его скомпилировать/запустить. Это очистит больше ресурсов, чем просто clean, и повторно выберет зависимости. Если это работает, то в вашем целевом каталоге были некоторые устаревшие классы.
2. Я создал пример проекта, который ссылается на подключаемый модуль jasypt-encryption, как в обычном проекте (это не относительный путь, как в тестовом проекте в подключаемом модуле). источник есть). Проект находится здесь: https://github.com/dtanner/sample-jasypt-1-3-1-project
Изменения, которые я внес в проект:
- добавлена ​​ссылка на плагин в BuildConfig.groovy
- добавлена ​​конфигурация шифрования в Config.groovy
— добавлен класс com.foo.Bar
— добавлен интеграционный тест com.foo.BarTests

Если BarTest работает нормально для этого проекта, сравните его с кодом, который не работает, и посмотрите, сможете ли вы найти разницу.

person Dan Tanner    schedule 09.12.2014
comment
Произошло самое странное - я импортировал ваш проект, и когда импорт закончился, ошибка перестала отображаться. В любом случае огромное спасибо за помощь! - person lxknvlk; 09.12.2014