4

在我全新的 grails 项目中,我安装了 shiro ( grails install-plugin shiro) 和 quick setup grails shiro-quick-start。如shiro 文档中所述,这会生成新文件。

但是,在其中一个文件中,controllers/(default package)AuthController.groovy有八个由 eclipse(SpringSource 工具套件)标记的问题。其中五个问题分别解决了五个进口问题:

 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 中没有包声明,也没有错误标记。一旦我为我的项目添加了正确的包声明并将文件移动到该包中,就无法再解析导入。这可能是这里发生的事情的线索。

4

3 回答 3

2

You have to add the shiro library jars to the eclipse project build path. The librarys (in my case) are by default installed to the grails project plugin directory in my home folder.

于 2012-01-08T18:05:34.820 回答
2

也许一个更简单的修复,当我遇到它时解决了这个问题:

不管你是否已经通过其他方式安装了它,运行:

grails 安装插件 shiro

虽然这可能会告诉您该插件已安装,但这也会为您整理路径,这应该可以解决问题。

于 2012-11-25T21:41:57.003 回答
0

我发现确保您已完成以下工作

插入compile ":shiro:1.2.1"_BuildConfig.groovy

运行命令grails compile

右键单击项目> grails工具>刷新依赖项

于 2014-12-04T19:20:49.987 回答