【问题标题】:IntelliJ Ultimate - groovy config - What is Path to configscript?IntelliJ Ultimate - groovy 配置 - 配置脚本的路径是什么?
【发布时间】: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

所以我为 File > Settings > Build, Execution, Deployment, Compiler > Groovy Compiler 对话框指定的文件,字段名称为 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 脚本所需的其他文件。

提前感谢您的帮助。

【问题讨论】:

  • 参见docs.groovy-lang.org/latest/html/documentation/… 了解-configscript 选项说明。在大多数情况下,您不需要为编译器指定它来工作。第二个错误似乎是由于您的 Java 和 Groovy 版本不匹配而发生的。你能检查一下它是否适用于 Java 8 吗?
  • 改用 2.5.x 版本。
  • 我目前正在使用 Java 8。我的直觉是问题出在非正常安装/设置上。我在没有管理员的工作机器上,碰巧安装了 Java (1.8.0),但没有安装 groovy,所以我把它放在c:\myapps\groovy-3.0.0-rc-3,我想知道 IntelliJ IDE 包含什么版本的 Java,让我检查一下那。那个版本是 11.0.5,这让我可以尝试一下。
  • 您不能使用与 IDE 捆绑的 JetBrains Runtime 进行开发。请参阅jetbrains.com/help/idea/…,其中描述了如何为您的项目下载和安装 JDK。
  • 2020-12-01 我也有同样的问题....希望我能找到答案

标签: intellij-idea groovy


【解决方案1】:

为了让 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 2016-10-12
    • 2018-02-17
    • 1970-01-01
    • 2011-12-02
    • 2021-08-16
    • 1970-01-01
    相关资源
    最近更新 更多