错误 mapping.DefaultUrlMappingEvaluator$UrlMappingBuilder - URL 具有值 [(*)] 的映射参数 [异常] 必须是有效的 class

ERROR mapping.DefaultUrlMappingEvaluator$UrlMappingBuilder - URL mapping argument [exception] with value [(*)] must be a valid class

我的 grails 日志中出现此错误:

错误 | 错误 mapping.DefaultUrlMappingEvaluator$UrlMappingBuilder - URL 具有值 [(*)] 的映射参数 [异常] 必须是有效的 class

它没有停止应用程序,但我想知道为什么会这样。我发现这是因为 URLMapping.groovy:

    "500"(controller:"securator", action:"error500", exception:InternalServerErrorException)
    "401"(controller:"securator", action:"error401", exception:IllegalAccessException)
    "403"(controller:"securator", action:"error403", exception:AccessDeniedException)

如果我删除最后一个异常,错误就会消失:

, exception:AccessDeniedException

有人有什么想法吗?我如何使用有效的 class(我认为 AccessDeniedException 是有效的 class)?

提前致谢。

尝试将 AccessDeniedException 更改为抽象 class AuthenticationException

我终于解决了,我把异常改成ForbiddenException。它看起来不错,没有抛出错误。

我今天遇到了同样的错误(只是有一个例外),简单的解决方法是导入 class.

我在 UrlMappings.groovy 中导致错误的代码:

"500"(controller: "error", action: "grailsTagException", exception: GrailsTagException)

我收到了与 GSAN 相同的错误消息,添加了 class:

的导入
import org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException;

现在我的项目编译没有错误。希望有所帮助:)