Linux 解析:Groovyc:内部Groovyc错误:代码1

Linux 解析:Groovyc:内部Groovyc错误:代码1,linux,groovy,intellij-idea,Linux,Groovy,Intellij Idea,我正在编译一个项目,该项目在Eclipse中运行正常,在ant中构建良好,但在IntelliJ IDEA中提供: groovyc内部错误:代码1 我如何解决这个问题?其他错误消息包括: 1:35:46 PM Unknown Natures Detected Imported projects contain unknown natures: org.eclipse.jdt.groovy.core.groovyNature So

我正在编译一个项目,该项目在Eclipse中运行正常,在ant中构建良好,但在IntelliJ IDEA中提供:

  • groovyc内部错误:代码1
我如何解决这个问题?其他错误消息包括:

1:35:46 PM Unknown Natures Detected
           Imported projects contain unknown natures:
           org.eclipse.jdt.groovy.core.groovyNature
           Some settings may be lost after import.
1:43:55 PM Compilation completed with 1 error and 7 warnings in 20 sec
Groovyc: Cannot compile Groovy files: no Groovy library is defined for module
Groovy本身安装在Linux上。将其作为groovy编译器添加到设置中不会影响以下行为:

> groovy --version
Groovy Version: 1.7.4 JVM: 1.6.0_24

显然,您试图将Eclipse项目导入IDEA,但这还不够好。(Groovy)Eclipse自带了自己的Groovy版本,而在IDEA中,您必须添加Groovy-all-1.7.4.jar(或任何您想要使用的版本)作为编译依赖项。

将模块设置中的Groovy依赖项移到JDK之后的右上角。

这对我很有效

阅读“Internal groovyc error:code 1”之前的日志,它应该会显示groovy版本不匹配。根据日志从依赖项列表更改groovy版本


例如,编译“org.codehaus.groovy:groovy all:2.4.11”

我可以通过重新启动intellij使其工作,并使缓存失效

可以找到(对于intelliJ 2018.1):


File->Invalidate Caches/restart->Invalidate and restart

如果您使用的是Groovy 2.5.3+Java 11,则必须添加JAXB依赖项(同时请查看与Java 11相关的更改)。Groovy附带了额外的JAXB JAR,因此我们可以添加它们。打开“项目结构”对话框,然后选择“依赖项”选项卡并添加依赖项

将项目SDK从
Java15
更改为
Java8
似乎神奇地解决了我机器上的相同问题

步骤:

  • 转到
    文件>项目结构…
    (在Mac/Linux上可能有所不同)

  • 项目设置下,选择
    项目

  • projectsdk:
    下拉列表中,选择安装的JDK的不同版本

  • 单击对话框底部的
    Apply
    OK


  • **
    重新运行您的程序。

    您是否尝试过将groovy作为全局库添加到IntelliJ中的project平台设置中?您是否尝试过更新版本的groovy?1.7.4几乎为3年。在Groovy 1.7.*中没有的最新版本中提供了各种有用的特性。根据将旧版本的Grails项目转换为新版本的经验说话。:)这是我发行版上最新的groovy。。。为什么它能从ant而不是IntelliJ中工作?它没有为我显示不匹配错误,但将
    groovy all
    依赖项版本与本地groovy版本(
    groovy-v
    )匹配确实解决了问题。谢谢。为了这个项目,我刚刚切换回Java 8。对于我来说,我发现进入“项目设置”>“库”,点击“+”,然后点击“来自Maven…”,然后粘贴
    org.openjax.jaxb:xjc:0.8.5
    。这在经过长时间的扫描和索引进度条后对我有效。@Sled这应该是一个答案,而不是一个注释。