SecureSocial не использует расширенные классы в Play! 2.1 проект внутри SBT Multi-Project

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

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

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

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


person crockpotveggies    schedule 15.11.2013    source источник


Ответы (1)


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

person crockpotveggies    schedule 15.11.2013