Grails 依赖项未作为库添加到 IntelliJ IDEA

标签 grails intellij-idea

将 Grails 项目导入 IntelliJ IDEA 时遇到问题。没有任何依赖项被添加为库。一切都表明“工具”->“Grails”->“同步 Grails 设置”应该足以配置项目。但是,当我运行该命令时,出现以下错误:

"C:\Program Files\Java\jdk1.7.0_75\bin\java" -Dgrails.home=C:\Users\req88100\.gvm\grails\2.4.4 -Dbase.dir=C:\Users\req88100\Projects\COI_2.4.4 "-Dtools.jar=C:\Program Files\Java\jdk1.7.0_75\lib\tools.jar" -Dgroovy.starter.conf=C:\Users\req88100\.gvm\grails\2.4.4/conf/groovy-starter.conf -Xmx768M -Xms768M -XX:MaxPermSize=256m -XX:PermSize=256m -Djline.WindowsTerminal.directConsole=false -Dfile.encoding=windows-1252 -classpath C:\Users\req88100\.gvm\grails\2.4.4\lib\org.codehaus.groovy\groovy-all\jars\groovy-all-2.3.7.jar;C:\Users\req88100\.gvm\grails\2.4.4\dist\grails-bootstrap-2.4.4.jar org.codehaus.groovy.grails.cli.support.GrailsStarter --main org.codehaus.groovy.grails.cli.GrailsScriptRunner --conf C:\Users\req88100\.gvm\grails\2.4.4/conf/groovy-starter.conf "idea-print-project-settings -plain-output"
|Loading Grails 2.4.4
|Configuring classpath
|Running pre-compiled script
|Script 'IdeaPrintProjectSettings' not found, did you mean:
   1) SetProxy_
   2) CreateMultiProjectBuild_
   3) Interactive
   4) ClearProxy_
   5) UrlMappingsReport
Please make a selection or enter Q to quit:

我可以手动将 jar 作为库添加到模块中,但这很麻烦。没有它,任何代码完成都无法正常工作。该项目工作正常,因为 grails run-app 运行得很好。

这是 Windows 7 上的 IntelliJ IDEA 14.1.3 和几个不同版本的 Grails 2.x.x。我已经手动尝试过该命令是 Cygwin 和标准 Windows 命令提示符。两者都产生与 IntelliJ IDEA 相同的结果。

idea-print-project-settingsIdeaPrintProjectSettings 的 Google 搜索结果非常少。我不确定这个脚本应该来自哪里。

如何配置 IntelliJ IDEA 以将库正确拉入模块配置中?

最佳答案

了解 Grails 如何解析 Gant 脚本确实有帮助:

http://grails.github.io/grails-doc/2.3.x/guide/commandLine.html

Grails searches in the following directories for Gant scripts to execute:

  • USER_HOME/.grails/scripts
  • PROJECT_HOME/scripts
  • PROJECT_HOME/plugins/*/scripts
  • GRAILS_HOME/scripts

问题似乎是 IntelliJ IDEA 会自动提供此 Gant 脚本,但将该脚本放在错误的位置。

使用 VisualVM,以下是用户目录:

user.dir=C:\Users\%USERNAME%
user.home=\\SOME\network\drive\%USERNAME%

因此,即使 Cygwin 和 IntelliJ IDEA 都将 C:\Users\%USERNAME% 视为主目录,Windows 组策略仍将其映射到网络共享,并且 Java 使用此目录值为user.home

查看C:\Users\%USERNAME%\.grails\scripts,我找到了该脚本。我将其复制到 \\SOME\network\drive\%USERNAME%\.grails\scripts,然后 Grails 识别了该脚本,并且 IntelliJ IDEA 能够正确配置自身。

关于Grails 依赖项未作为库添加到 IntelliJ IDEA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30357960/

相关文章:

grails - 在Grails中检测重定向

grails - 使用 Grails 2.x 和 Spring Security 插件实现字段级安全

grails - 如何在grails中设置自动增量的起始值

android-studio - Android Studio 中的 .iml 文件是什么?

intellij-idea - IntelliJ - 首次运行后从旧版本导入配置

grails - Grails中的Log Spring安全主体

grails - 使用 resources.groovy 定义服务

intellij-idea - Intellij IDEA 检查设置中的蓝色意味着什么?

java - 如何使用 Intellij Idea 远程调试 .jar 文件

gradle - 如何在用 Kotlin 编写的 Intellij IDEA Gradle 插件项目中包含 Kotlin PSI 类(例如 KtClass)?