【问题标题】:Error:BUG! exception in phase 'class generation' in source unit '_BuildScript_' unsupported Target MODULE错误:BUG!源单元“_BuildScript_”中的“类生成”阶段中的异常不受支持的目标模块
【发布时间】:2018-02-04 13:04:06
【问题描述】:

我正在尝试使用 gradle 创建一个新的 Java 9 项目,但在项目创建后我收到了来自 gradle 的错误:

Error:BUG! exception in phase 'class generation' in source unit '_BuildScript_' unsupported Target MODULE

Java 版本:9(内部版本 9+178)
Gradle 版本:4.1-rc-2

根据this 文章,这些 java/gradle 版本应该是兼容的。
我该如何解决这个问题?

任何帮助都非常感谢。

【问题讨论】:

  • 你能否分享一下这个失败的 Gradle 事件日志或/和一个可以尝试重现这个问题的最小项目。
  • 你用的是什么版本的等级?我用的是4.1,还是一样的错误。
  • 和你一样的版本
  • 我认为 4.1 不是发布候选版本 4.1-rc-2
  • 类似的事情发生在我身上,这是我修复它的方法stackoverflow.com/a/53509014/1195507

标签: java intellij-idea gradle java-9


【解决方案1】:

我已经通过将 Gradle JVM 降级到 8 解决了这个问题。 它并不完美,但在 jdk9 和 gradle 和 intellij 稳定时让你继续前进。

Intellij View

【讨论】:

    【解决方案2】:

    将 Gradle 主页设置为本地 Gradle 分发解决了我的问题。

    • Java 版本:9+181
    • Gradle 版本:4.1
    • Intellij 版本:2017.2.2

    如果我们设置为使用默认 Gradle 包装器,IntelliJ 会下载早期版本的 Gradle。我认为这是失败的原因。

    【讨论】:

    • 还有其他步骤吗?就我而言,它不适用于以下配置:jdk9+181,gradle 4.1,idea 2017.2.4,linux
    • 我没有任何问题。由于 gradle 是一个构建工具,你可以尝试将构建工具的 JVM 降级到 1.8 并尝试一下。
    • 是的,目前我正在这样做
    • 对我也不起作用。回到 JDK8(使用 Gradle 4.1),它工作正常。会等几天
    • 如果在 macOS 和 Gradle 上已安装 Homebrew,则 brew --prefix gradle 显示可以找到 libexec/ 的位置。对我来说,就是 /usr/local/opt/gradle,所以我将项目的 Gradle 主页设置为 /usr/local/opt/gradle/libexec。我确信 Windows 的替代 Chocolatey 具有类似的查找最新安装目录的功能。
    【解决方案3】:

    似乎在 2017.3 中修复

    请参阅 IntelliJ IDEA 2017.3 173.2941.3 发行说明:https://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+2017.3+173.2941.3+Release+Notes

    查看问题:https://youtrack.jetbrains.com/issue/IDEA-171520

    【讨论】:

      【解决方案4】:

      这个问题似乎已在 Groovy 2.4.12 中得到修复,升级到至少该版本解决了 https://github.com/jenkinsci/JenkinsPipelineUnit/issues/292 中的类似问题。

      【讨论】:

        猜你喜欢
        • 2021-09-22
        • 2022-12-15
        • 2022-10-25
        • 2022-12-06
        • 2021-10-06
        • 1970-01-01
        • 1970-01-01
        • 2021-06-27
        • 1970-01-01
        相关资源
        最近更新 更多