【问题标题】:How do I import an existing Grails 3 (3.0.12) project in IntelliJ 15如何在 IntelliJ 15 中导入现有的 Grails 3 (3.0.12) 项目
【发布时间】:2016-05-01 02:03:11
【问题描述】:

IntelliJ 网站上有关于创建新 Grails 项目的文档,但导入项目比较粗略,我无法让它为我工作。

如果我告诉 IntelliJ 导入一个新项目,并将其指向我的项目目录,它不会将其识别为 Grails 项目。项目导入后,我可以进入Project菜单,右键点击项目,进入“add Framework support...”,选择Groovy,但是IntelliJ仍然无法将我的项目识别为Grails项目。例如,对于一个新的 Grails 项目,运行菜单将包含一个用于运行应用程序的按钮,该按钮将装饰有与 Grails 同义的 3 杯图标。我的导入项目没有做到这一点。

以下是我目前采取的具体步骤:

  1. 从我新的未导入项目开始。这是一个项目,我可以使用 grails compile 手动构建。
  2. 打开 IntellliJ 15 UE 并选择“导入项目
  3. 选择包含我的 build.gradle 文件和 grails-app 目录的顶级目录
  4. 选择从现有来源创建项目
  5. 默认项目名称/位置
  6. 选择所有找到的源目录。这些包括:
    1. grails-app conf、控制器、域、init、taglib 目录
    2. src/main/groovy
    3. 测试/单元
  7. Libraries 屏幕上,使用默认的 gradle-wrapper 选项
  8. Modules 屏幕上使用 3
  9. “选择项目 SDK...” 我选择了 1.8 JDK 设置。这里没有提到 Grails。
  10. 我看到 “未检测到框架” 消息。我应该可以在这里配置 Grails 吗?
  11. 选择完成。

此时,我在 IntelliJ 编辑器窗口中,其中包含一个未构建的项目。我可以转到“添加框架支持”并启用对 Groovy 的支持,然后参考我的 Grails SDK。但无论如何,我觉得我不应该这样做。我认为 IntelliJ 应该能够检测到我的项目类型和特征,而我只是没有正确配置它。

但无论如何,我的项目仍然无法在 IntelliJ 中编译。我必须通过控制台构建它。现在我在 src/main/groovy 中的所有 Java 文件都没有编译。所有引用 org.springframework 的导入都返回“无法解析符号”错误。

【问题讨论】:

  • 是的,我昨天尝试了所有这些,我的评论在下面,但没有帮助。在我升级到 3.0.12 后,它发生在我的电脑上。但在我的 macbook 上,它发生在升级到 3.0.11 之后。现在两者都没有 Intellisense。

标签: intellij-idea grails-3.0 intellij-15


【解决方案1】:

我以前也遇到过这个问题。解决它的唯一方法是:

  • 吹走 intellij 项目
  • 从现有来源导入
  • 双击 build.gradle
  • 确保 gradle 上的自动导入设置为 false

这是与 IntelliJ 相关的问题 - https://youtrack.jetbrains.com/issue/IDEA-149513

【讨论】:

  • 之后你会得到一个 gradle 项目,而不是 grails。在您导航到一些 groovy 文件后,IDEA 会询​​问有关 groovy 库的信息,仅此而已。现在我有一个 gradle 项目,一切正常,但是 grails 库中没有代码导航,我花了一个小时尝试手动添加库,一个框架支持和 SDK,但它没有帮助。无法将 Grails 支持添加到项目中。另一方面,如果我创建新的 grails 项目,则会突出显示 domainClass.save() 等方法,但通过 gradle 的所有库都丢失了。
  • 所以我需要通过 gradle 选项卡进行刷新,并将它们包含在项目中,但反之亦然 - 所有库都可以,但没有 grails 代码 Intellisense。
  • erich 的修复足够好,我可以构建和运行我的项目,但仍然存在不一致之处。当我进入运行菜单时,我确实看到了 Grails 启动任务,但由于某种原因,我无法为此执行调试。底线 - IntelliJ 的 grails 3 实现仍然缺乏。希望我们能收到 JetBrains 代表的来信,解释这个状态
  • 我花了很多天但成功地启动了带有调试的集成测试。
  • 用于调试使用 gradle。从 gradle 面板启动“运行”任务。之后它将被添加到运行菜单中。对于集成测试,右键单击测试文件并选择“create testName”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
相关资源
最近更新 更多