如何在 IDE 中使用 Grails 依赖项

Posted

技术标签:

【中文标题】如何在 IDE 中使用 Grails 依赖项【英文标题】:How to make use of Grails Dependencies in your IDE 【发布时间】:2010-12-24 14:00:35 【问题描述】:

所以我 finally 让我的依赖项与 Grails 一起工作。现在,我的 IDE(例如 IntelliJ 或 Eclipse)如何利用它?还是我真的必须手动管理我的 IDE 在“开发时间”知道哪些类?

如果BuildConfig.groovy 脚本设置正确(see here),您将能够使用 vi 或您喜欢的编辑器毫无问题地编写代码,然后运行 ​​grails compile,它将解决并将依赖项下载到 @ 987654323@ 和你去...

但是,如果您使用的是 Eclipse 或 IntelliJ 之类的 IDE,您将需要手头的依赖项在编码时。显然 - 因为这些动物将需要它们进行“实时”错误检测/编译过程。

现在,虽然当然可以编写代码,让所有的类在你的 IDE 未知的地方都以鲜红色闪烁,但这肯定没有什么乐趣强>...

Maven 支持或任何官方名称的支持与 pom 文件一起愉快地生活,不需要额外的“jar 目录”指针,至少在 IntelliJ 中是这样。 我希望能够对 Grails 依赖项做同样的事情

目前我在 BuildConfig.groovy 中定义它们,另外我将当前的 jar 复制/粘贴到我的本地磁盘上,并让 IDE 指向它。

不太令人满意,因为我在代码更改方面工作在一个高度不稳定的项目模块环境中。这种情况将我直接带入“jar hell”,因为我的“开发和构建依赖项”很容易不同步,我必须手动管理,也就是说,用我的大脑......

而且我的大脑应该忙于其他事情...

谢谢! 拉乌尔

P.S:我目前正在使用 Grails 1.2M4 和 IntelliJ 92.105。但是您可以随意添加有关 Grails 的未来版本和不同的未来 IDE 的答案...

【问题讨论】:

您现在可能已经想通了,但我也遇到了同样的问题。见***.com/questions/2774497/… 【参考方案1】:

如果您有带有 Grails 插件的 Eclipse,只需运行: Grails 工具->刷新依赖项 (其实我已经用 STS 试过了)。

【讨论】:

“Grails 工具”部分可在“项目资源管理器”视图中右键单击所需项目,如果有人找不到它。 使用“Grails 命令提示符”和“refresh-dependencies”不起作用,因为它直接调用 grails 而不是与 eclipse 集成。我直接按照这些说明进行操作(使用项目中的上下文菜单“Grails Tools”),一切都很好。【参考方案2】:

这已在最新的 EAP 版本中得到修复:94.173 -> http://youtrack.jetbrains.net/issue/IDEA-50459#content-tab=1

在此处下载:http://www.jetbrains.net/confluence/display/IDEADEV/Maia+EAP

Grails 1.2.1 和 IntelliJ Build# 93.94(版本 9.0.1)和我有同样的问题。我让它工作的唯一方法是从我的 maven 项目中手动添加库(在 ~/.ivy2/ 下)否则,下载上面列出的 EAP 构建。

此外,grails 与 --intellij 集成不起作用。而且,事实上,会导致更严重的问题。 IntelliJ 中的内置集成比 grails 提供的要好得多。

【讨论】:

@mike 听起来很有希望。我会尽快测试这个。谢谢【参考方案3】:

你试过了吗

grails integrate-with --intellij

至少在 1.2.0RC1 中,这会创建 intellij 项目文件——但我不确定依赖项是否也由这个文件管理。

【讨论】:

谢谢斯特凡。我刚刚下载了 1.2.0.RC1 和 IntelliJ Release 9.0。我在 shell 中创建了一个项目,添加了来自 maven(joda-time)的依赖项,创建了一个导入 DateTime 的控制器,并对其进行了编译。都好。然后运行“grails integration-with --intellij”,创建项目文件,但之后 IDE 无法识别依赖项:-/ 我仍在使用 IntelliJ 8.1 - 这工作正常。我看到一篇博文说 Intellij 9 EAP 修复了 Grails 的一些错误——也许可以使用那个。

以上是关于如何在 IDE 中使用 Grails 依赖项的主要内容,如果未能解决你的问题,请参考以下文章

如何告诉 Grails 使用 Gradle 解决依赖关系

排除 Grails 构建范围依赖项

Grails:Ivy:Google 代码:如何将 Google 代码依赖项添加到 Grails?

如何将“非 mavenized”jar 依赖项添加到 grails 项目(Grails 3.x)

如何在 Grails 3.0 中使用 jQuery

如何在 Grails 单元测试中使用 Spock 模拟 passwordEncoder