我正在从 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 jars)。
谁能提出问题可能是什么?我看不到任何地方仍然有针对 1.7 构建的任何代码