【发布时间】: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