gpt4 book ai didi

java - 升级 Groovy 1.7 - 2.1 不兼容

转载 作者:行者123 更新时间:2023-12-02 07:02:55 36 4
gpt4 key购买 nike

我正在从 Groovy 1.76 迁移到 Groovy 2.1,但在运行某些 Java 代码时遇到问题。

我的类路径上安装了 java 7 和 Groovy 2.1。 Gradle 正在运行,我的项目可以运行所有单元测试并像以前一样成功执行。

但是,我有一个 java 类,它加载其中一个 groovy 类并执行它(该类可以在常规 gradle/groovy 单元测试中正常执行),当我尝试在新环境中运行它时,它会失败并显示以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/transform/powerassert/ValueRecorder
at com.covestor.glossary.meta.Entity$_Rel__clinit__closure3_closure4.doCall(Entity.groovy:500)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

我在其他问题/讨论中看到一些类已从 Groovy 1.7 中删除,因此一般建议似乎是确保针对更高版本的 groovy 重新构建这些类 - 但我的类已经在构建中针对更高版本(我的启动 java 代码的脚本实际上首先调用 gradle clean build 以确保所有 groovy 类都正确编译)。还有一些 jar 依赖项,但它们都不是从 Groovy 源代码构建的(所有 java jar)。

任何人都可以建议可能是什么问题吗?我看不到任何地方有任何仍然针对 1.7 构建的代码

最佳答案

ValueRecorder类在内部用于实现the power assert feature在 Groovy 中。不幸的是,这些类已移至另一个包 from 1.7 to 1.8 .

您的错误意味着仍然有一些 1.7 编译的 Groovy 代码。这就是 NoClassDefFoundError 的原因。

关于java - 升级 Groovy 1.7 - 2.1 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16424622/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com