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

时间:2015-05-20 18:45:35

标签: 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以正确地将库拉入模块配置?

5 个答案:

答案 0 :(得分:1)

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

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

  

Grails在以下目录中搜索要执行的Gant脚本:

     
      
  • USER_HOME / .grails /脚本
  •   
  • PROJECT_HOME /脚本
  •   
  • PROJECT_HOME /插件/ * /脚本
  •   
  • GRAILS_HOME /脚本
  •   

问题似乎是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能够正确配置。

答案 1 :(得分:0)

如果你在intellij中遇到“执行脚本IdeaPrintProjectSettings:错误”,请在linux上试试这个:

  1. 转到主目录cd中的命令提示符以项目根目录 (例如,cd $ HOME / IdeaProjects / Simulator01)
  2. 运行'grails'命令
  3. 在grails提示符下的提示符下运行“refresh-dependencies” 然后按[ENTER]
  4. 一旦完成而没有错误,你应该能够 做下一步:
  5. 在grails提示符下运行'idea-print-project-settings'并获得输出而不会出错。
  6. 现在尝试在intellij中重建项目,可能必须先使缓存无效。

    祝你好运, 大卫

答案 2 :(得分:0)

我通过添加IdeaPrintProjectSettings.groovy解决了这个问题 USER-HOME.grails \ scripts \ IdeaPrintProjectSettings.groovy(我正在使用IDEA版本2016) 要么 USER-HOME.grails \ IdeaPrintProjectSettings.groovy 这取决于您的IDEA版本。

(抱歉,我不知道如何在stackoverflow中为需要它的人附加此文件)。

答案 3 :(得分:0)

我刚刚在Windows 10上遇到了这个问题,经过几次尝试我终于能够解决它。我只是做了以下事情:

  1. 搜索了IdeaPrintProjectSettings.groovy脚本。

  2. 将其复制到我的实际Grails脚本目录中,该目录类似于...\Grails2.2.2\scripts或IntelliJ当时指向的任何内容。

  3. 再次同步了我的Grails项目。

如前所述,这里的问题是Grails的IntelliJ上下文正在另一个目录中寻找此脚本。就我而言,IntelliJ正在Grails缓存中查找。

答案 4 :(得分:0)

我通过在usernamefolder/.grails/中创建脚本目录解决了这个问题