2013-11-15 2 views
0

В настоящее время у меня есть игра! 2.1, который является подпроектом SBT Multi-Project, который является интерфейсом интерфейса. Игра! проект использует SecureSocial для типичной проверки подлинности.SecureSocial не использует расширенные классы в Play! 2.1 проект внутри SBT Multi-Project

Обычно я запускаю консоль SBT для запуска внутренних служб локально в отдельных терминалах. Наконец, я выполняю команду play "project interface" "~run 9000" в новом окне, чтобы запустить подпроект интерфейса, используя Play !. Проблема в том, что при новой загрузке (даже после чистой) SecureSocial не использует мои расширенные сервисы и провайдеры, а вместо этого отказывается сама по себе.

Я сделаю смену и перезагрузку источника, где SecureSocial будет использовать мои собственные классы, но внезапно начинает выдавать исключения ClassCast с использованием двух одинаковых типов, что указывает на наличие конфликтующих ClassLoaders.

Есть ли способ установить это, чтобы этого не произошло? Спасибо за вашу помощь!

ответ

0

Хотя это не настоящее решение, я разработал временное решение, в котором я вручную создаю экземпляр собственного расширенного класса UserService и переношу текущий экземпляр приложения в область видимости. Я также написал своих собственных поставщиков и обертки SecureAction и разработал их для использования таможни UserService. Это много дополнительного кода, но он работает вокруг проблемы.