【问题标题】:intellij can't resolve grails.pluginintellij 无法解析 grails.plugin
【发布时间】:2013-12-09 18:18:25
【问题描述】:

我在我的 Vista 32 机器上使用 Grails 2.3.3 和 IntelliJ Ultimate 12.1.6。

我使用 grails 命令行创建了一个新应用程序,然后添加了 spring security 和 spring security ui。我的 BuildConfig.groovy 插件部分包含

compile ":spring-security-core:2.0-RC2"
compile ":spring-security-ui:1.0-RC1"

我跑了

grails s2-quickstart
grails s2ui-override auth
grails s2ui-override register 

我生成的 RegisterController 如下所示:

class RegisterController extends grails.plugin.springsecurity.ui.RegisterController {
}

grails.plugin 是红色且未解析,无论我尝试什么,我都无法让 IntelliJ 解析 grails.plugin

Grails 编译和运行应用程序没有问题,如果我覆盖我在 spring ui RegisterController 的源代码中找到的方法,它们会正确连接到应用程序,但我什至无法从 intell 编译,我可以'不要让 intellij 帮助我覆盖代码。

我认为在 IntelliJ 之外创建项目可能是个问题,所以我使用 IntelliJ 接口创建了一个新的 Grails 项目,插件仍然无法解决。

我尝试将插件添加为运行时,但没有成功。

我花了一个下午和晚上的时间研究这个,但没有成功。 IntelliJ 的主要版本 10 和 11 也有类似的问题,但没有最新版本,所以我决定寻求帮助,让 IntelliJ 识别 Grails 插件类。如有必要,我可以发布一个完整的小示例项目。

谢谢。 戴夫

【问题讨论】:

    标签: grails intellij-idea spring-security


    【解决方案1】:

    当我将一个新插件放入我的 BuildConfig.groovy 时,我经常遇到这个问题,但当我添加一个 jar 依赖项时通常不会。

    我通过在菜单中执行以下操作来解决它:工具 > Grails > 同步 Grails 设置

    您可以通过在项目视图中导航到 grails-app > target > work > plugins 来判断插件是否在 IDEA 中同步。每个同步插件在目录图标的右下角都有一个蓝色的小方块。如果没有那个图标,说明它没有与 IDEA 正确同步。

    【讨论】:

    • 另外,一个普通的 Gradle 项目也有同样的问题。您可以打开菜单右侧的 Gradle 面板。它也有一个看起来相同的同步按钮(如刷新符号)。
    • th3morg 的评论适用于 grails 3(它是 gradle 驱动的)。在 IDE 的 gradle 窗格中点击 doohickey 是让它找到我的插件的唯一方法。
    【解决方案2】:

    在 Maven 中使用 IntelliJ 13.1.5 和 Grails 2.4.3 时,IDE 会拉入 2 个不同的 groovy-all jar 文件。 解决它的方法是转到模块设置并在项目和 projectGriasPlugins 模块下修改用户 Grails 库条目。单击编辑按钮(铅笔)并从项目中删除 groovy-all.2.3.3.jar。

    请记住,如果您关闭项目并重新打开它,可能需要重新应用这些设置。

    【讨论】:

      猜你喜欢
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 2020-04-01
      • 1970-01-01
      相关资源
      最近更新 更多