Проблема Grails с shiro-quick-start: импорт не может быть разрешен (Eclipse)

В своем новом новом проекте Grails я установил shiro (grails install-plugin shiro) и средство быстрой установки grails shiro-quick-start. При этом были созданы новые файлы, как описано в документации shiron.

Однако в одном из этих файлов controllers/(default package)AuthController.groovy есть восемь проблем, отмеченных eclipse (SpringSource Tools Suite). Пять из этих проблем связаны с пятью импортами соответственно:

 Groovy:unable to resolve class org.apache.shiro.authc.AuthenticationException
 …

Указание правильного пакета и перемещение файла в этот пакет не решает проблему. Три других маркера проблемы:

 Groovy:Catch statement parameter type is not a subclass of Throwable.

(x3) Я полагаю, что эта проблема может быть связана с неудачным импортом и, таким образом, может исчезнуть, как только предыдущая проблема будет решена.

Теперь я мог настроить shiro самостоятельно без быстрого запуска, но я бы предпочел придерживаться быстрого запуска и расширить его, как описано в руководстве.

(очевидно) Вопрос 1: Кто-нибудь знает, почему Eclipse выдает мне эти сообщения об ошибках? Я пропустил шаг в процессе установки?

(не так важно) Вопрос 2: я пытался применить исправить проблему (пакет по умолчанию) только для того, чтобы обнаружить, что уже есть ссылка на путь к пакету в соответствующей части _ShiroInternal.groovy. Почему он по-прежнему устанавливается в каталог по умолчанию? Может ли это быть связано с моей проблемой?

Дополнительная странность: есть еще один файл, realm/ShiroDbRealm.groovy, который включает импорт org.apache.shiro ресурсов. В Eclipse нет объявления пакета и маркеров ошибок. Как только я добавлю правильное объявление пакета моего проекта и перемещу файл в этот пакет, импорт больше не может быть разрешен. Это может быть ключом к тому, что здесь происходит.


person mzuba    schedule 25.09.2011    source источник


Ответы (3)


Вы должны добавить jar библиотеки shiro в путь сборки проекта eclipse. Библиотеки (в моем случае) по умолчанию устанавливаются в каталог подключаемых модулей проекта Grails в моей домашней папке.

person Julian    schedule 08.01.2012

Возможно, еще более простое исправление, которое решило проблему, когда я столкнулся с ней:

Независимо от того, установили ли вы его другим способом, запустите:

Установка плагина Grails Широ

Хотя это может сказать вам, что плагин уже установлен, это также упорядочит путь для вас, что должно решить проблему.

person Simon Piel    schedule 25.11.2012
comment
это больше не работает с более новыми версиями Grails - person andy mccullough; 04.12.2014

Я обнаружил, что убедившись, что вы сделали следующее, сработало

Вставил compile ":shiro:1.2.1" в BuildConfig.groovy

Запустите команду grails compile

щелкните правой кнопкой мыши в проекте> инструменты Grails> обновить зависимости

person andy mccullough    schedule 04.12.2014