将 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-settings
或 IdeaPrintProjectSettings
的 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/