Warm tip: This article is reproduced from serverfault.com, please click

IntelliJ Ultimate-常规配置

(IntelliJ Ultimate - groovy config)

发布于 2020-01-21 21:18:23

我已经用zip下载了groovy(groovy-3.0.0-rc-3 URL)并解压缩到了一个目录中。在将$ GROOVY_HOME / bin添加到我的路径后,可以通过说以下内容来运行groovy脚本。

groovy ex1.groovy

其中ex1.groovy有以下一行:

["Rod", "Carlos", "Chris"].findAll{it.size() < 4}.each{println it}

所以我知道它正在工作,但是当我尝试在IntelliJ Ultimate中运行相同的脚本时,出现错误提示

Information:Groovyc: While compiling groovy1:org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
C:\p\groovy-3.0.0-rc-3\conf\groovy-starter.conf: 1: Unexpected input: '#' @ line 1, column 1.
   ## Licensed to the Apache Software Foundation (ASF) under one or more

因此,我为“文件”>“设置”>“构建,执行,部署,编译器”>“ Groovy编译器”对话框指定的文件,字段名称Path to configscript不正确。我使用了文件$GROOVY_HOME/conf/groovy-starter.conf

但是,当我删除它时,我得到另一个错误,该错误基本上表明IntelliJ(尚未)不知道在哪里寻找安装文件。

Information:Groovyc: While compiling groovy1:java.lang.NoClassDefFoundError: Unable to load class org.apache.groovy.jaxb.extensions.JaxbExtensions due to missing dependency javax/xml/bind/JAXBContext

我搜索了一个解决方案,发现IntelliJ的文档基本上没有用(重申明显的意思)。

我的想法是,通过将正确格式的文件传递给groovy编译器,将找到运行Groovy脚本所需的其他文件。

预先感谢你的任何帮助。

Questioner
PatS
Viewed
11
PatS 2020-12-02 12:49:24

为了使IntelliJ运行* .groovy文件,我需要在IntelliJ中正确配置groovy。

通过一些实验发现,可以使用的groovy zipfile发行版中包含一个文件。该文件是groovy/config/groofy-starter.conf

使用此文件作为配置文件后,我能够在IntelliJ Ultimate中运行* .groovy文件,它们可以正确运行。

注意:我也从Java11切换到Java8。因此可能需要Java8(不确定)。

下面是当我选择File |时使用的完整的Java命令。跑步

C:\p\jdk1.8.0_271\bin\java.exe -Dtools.jar=C:\p\jdk1.8.0_271\lib\tools.jar -Dgroovy.home=C:\p\groovy-3.0.6 -Dgroovy.starter.conf=C:\p\groovy-3.0.6\conf\groovy-starter.conf "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1\lib\idea_rt.jar=57171:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1\bin" -Dfile.encoding=UTF-8 -classpath C:\p\groovy-3.0.6\lib\groovy-3.0.6.jar org.codehaus.groovy.tools.GroovyStarter --conf C:\p\groovy-3.0.6\conf\groovy-starter.conf --main groovy.ui.GroovyMain --classpath .;C:\Play\groovy-try2\out\production\groovy-try2;C:\p\groovy-3.0.6\lib\ant-1.10.8.jar;C:\p\groovy-3.0.6\lib\ant-antlr-1.10.8.jar;C:\p\groovy-3.0.6\lib\ant-junit-1.10.8.jar;C:\p\groovy-3.0.6\lib\ant-launcher-1.10.8.jar;C:\p\groovy-3.0.6\lib\bsf-2.4.0.jar;C:\p\groovy-3.0.6\lib\commons-cli-1.4.jar;C:\p\groovy-3.0.6\lib\commons-logging-1.2.jar;C:\p\groovy-3.0.6\lib\gpars-1.2.1.jar;C:\p\groovy-3.0.6\lib\groovy-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-ant-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-astbuilder-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-bsf-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-cli-commons-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-cli-picocli-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-console-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-datetime-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-dateutil-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-docgenerator-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-groovydoc-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-groovysh-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-jaxb-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-jmx-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-json-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-jsr223-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-macro-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-nio-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-servlet-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-sql-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-swing-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-templates-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-test-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-test-junit5-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-testng-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-xml-3.0.6.jar;C:\p\groovy-3.0.6\lib\groovy-yaml-3.0.6.jar;C:\p\groovy-3.0.6\lib\hamcrest-core-1.3.jar;C:\p\groovy-3.0.6\lib\ivy-2.5.0.jar;C:\p\groovy-3.0.6\lib\jackson-annotations-2.11.2.jar;C:\p\groovy-3.0.6\lib\jackson-core-2.11.2.jar;C:\p\groovy-3.0.6\lib\jackson-databind-2.11.2.jar;C:\p\groovy-3.0.6\lib\jackson-dataformat-yaml-2.11.2.jar;C:\p\groovy-3.0.6\lib\jansi-1.18.jar;C:\p\groovy-3.0.6\lib\javaparser-core-3.16.1.jar;C:\p\groovy-3.0.6\lib\javax.servlet-api-3.0.1.jar;C:\p\groovy-3.0.6\lib\jcommander-1.78.jar;C:\p\groovy-3.0.6\lib\jline-2.14.6.jar;C:\p\groovy-3.0.6\lib\jsp-api-2.0.jar;C:\p\groovy-3.0.6\lib\jsr166y-1.7.0.jar;C:\p\groovy-3.0.6\lib\junit-4.13.jar;C:\p\groovy-3.0.6\lib\junit-jupiter-api-5.7.0.jar;C:\p\groovy-3.0.6\lib\junit-jupiter-engine-5.7.0.jar;C:\p\groovy-3.0.6\lib\junit-platform-commons-1.7.0.jar;C:\p\groovy-3.0.6\lib\junit-platform-engine-1.7.0.jar;C:\p\groovy-3.0.6\lib\junit-platform-launcher-1.7.0.jar;C:\p\groovy-3.0.6\lib\multiverse-core-0.7.0.jar;C:\p\groovy-3.0.6\lib\opentest4j-1.2.0.jar;C:\p\groovy-3.0.6\lib\org.abego.treelayout.core-1.0.1.jar;C:\p\groovy-3.0.6\lib\qdox-1.12.1.jar;C:\p\groovy-3.0.6\lib\snakeyaml-1.26.jar;C:\p\groovy-3.0.6\lib\ST4-4.1.jar;C:\p\groovy-3.0.6\lib\testng-7.3.0.jar;C:\p\groovy-3.0.6\lib\xstream-1.4.13.jar --encoding=UTF-8 C:\Play\groovy-try2\src\hello2.groovy