解决问题。Groovyc:内部groovyc错误:代码1

19 人关注

我正在编译一个项目,在Eclipse中工作正常,用ant构建也很好,但在IntelliJ IDEA中却出现了问题。

  • Internal groovyc error: code 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
        
    4 个评论
    你有没有试过在IntelliJ的项目平台设置中把groovy作为一个全局库加入?
    你有没有试过较新版本的Groovy?1.7.4已经快3年了
    同意。最近的版本有各种有用的功能,这些功能在Groovy 1.7.*中是不存在的。这是我从Grails项目的老版本过渡到最新版本的经验之谈:)
    这是我的发行版上最新的groovy......为什么它能在ant上工作而不是IntelliJ?
    linux
    groovy
    intellij-idea
    Bryce
    Bryce
    发布于 2013-06-21
    9 个回答
    Peter Niederwieser
    Peter Niederwieser
    发布于 2022-09-14
    已采纳
    0 人赞同

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

    Kdn Krishna
    Kdn Krishna
    发布于 2022-09-14
    0 人赞同

    如果你使用的是Groovy 2.5.3 + Java 11,你必须添加JAXB依赖项(也可以查看Java 11的相关变化)。Groovy带有额外的JAXB Jars,所以我们可以添加它们。打开 "项目结构 "对话框,然后选择 "依赖 "标签并添加依赖项

    谢谢。我刚刚为这个项目换回了Java 8。
    Sled
    For me I found the going to "Project Settings">"Libraries", clicking on "+" , then on "From Maven..." and then pasting org.openjax.jaxb:xjc:0.8.5 .This worked for me after a lengthy scanning and indexing progress bar.
    @Sled 这也许应该是一个答案,而不是一个评论。
    Dut A.
    Dut A.
    发布于 2022-09-14
    0 人赞同

    将项目的SDK从 Java 15 改为 Java 8 ,在我的机器上似乎神奇地解决了同样的问题。

    Steps:

  • 转到 File > Project structure... (在Mac/Linux上可能有所不同)。

  • Under Project Settings , select Project .

  • Project SDK: 的下拉菜单中,选择一个不同的JDK安装版本。

  • Click Apply & OK at the bottom of the dialog.

    ** 重新运行你的程序。

  • Yunesh Shalika Senarathna
    Yunesh Shalika Senarathna
    发布于 2022-09-14
    0 人赞同

    This worked for me!!

    阅读 "Internal groovyc error: code 1 "之前的日志,那么它应该显示你的groovy版本不匹配。根据日志,从依赖列表中改变你的groovy版本。

    例如,编译'org.codehaus.groovy:groovy-all:2.4.11'

    对我来说,它没有显示不匹配的错误,但将 groovy-all 的依赖版本与本地Groovy版本( groovy -v )相匹配确实解决了问题。
    johnk
    johnk
    发布于 2022-09-14
    0 人赞同

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

    Ruth
    Ruth
    发布于 2022-09-14
    0 人赞同

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

    可以找到(针对intelliJ 2018.1)。

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

    Babak
    Babak
    发布于 2022-09-14
    0 人赞同

    我发现这个解决方案对我来说完全有效。你可以使用这个链接来解决这个问题