使用Gradle运行MarkLogic Data Hub Flow遇类文件版本61不支持错误求助
问题分析与解决办法
错误成因
- Gradle版本冲突:错误日志显示Gradle尝试调用7.1.1版本的缓存,但你当前使用的是Gradle 8.1.3。Gradle 7.1.1对Java 17的支持不完善,无法正确处理Java 17编译生成的类文件(对应class文件主版本号61),因此在语义分析阶段抛出错误。
- 插件兼容性不匹配:MarkLogic Data Hub 6.0.0的Gradle插件是基于Gradle 7.x开发的,与Gradle 8.x的API存在兼容性差异,这也是触发类版本不支持错误的原因之一。
解决步骤
1. 统一Gradle版本为兼容Java 17的7.x分支
Data Hub 6.0.0推荐搭配Gradle 7.6+版本(该版本完全支持Java 17),操作如下:
- 修改项目根目录下
gradle/wrapper/gradle-wrapper.properties文件中的distributionUrl:distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-bin.zip - 执行
gradlew wrapper命令更新项目的Gradle wrapper。
2. 清理旧Gradle缓存
删除旧版本的Gradle缓存,避免版本冲突残留:
- 删除路径
C:\Users\dharmendra.singh\.gradle\caches\7.1.1,或者直接清空整个.gradle/caches目录。
3. 确认Client Jar配置合理性
你当前使用的marklogic-data-hub-6.0.0-client.jar是正确的,Data Hub版本与Client Jar版本必须严格对应,无需更换为6.2.0版本(该版本对应Data Hub 6.2.0,与你当前的6.0.0版本不兼容)。
4. 重新运行Data Hub Flow
完成上述配置调整后,重新执行Flow运行命令,错误即可解决。
内容的提问来源于stack exchange,提问作者Dharmendra Kumar Singh
相关产品推荐
相关产品推荐

