You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle升级至8后compileTestJava执行失败问题排查求助

问题背景

升级至Gradle 8前一切正常,升级后出现以下两次错误:

首次启动错误

移除CMSClassUnloadingEnabled参数前,启动时抛出虚拟机创建失败错误:

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
Unrecognized VM option 'CMSClassUnloadingEnabled'
Error: Could not create the java virtual Machine
Error: A fatal exception has occured

编译测试代码错误

移除上述VM参数后,测试用例编译报错:

/workersfsPODB45/workspace/kenkins-build45/-1021654004/44/src/test/java/com/wellsfargo/ccbs/bizmanagers/PricingManagerTest.java:109: error: cannot find symbol private RequestInfo requestInfo;  

其中RequestInfo来自JDK的org.omg.PortableInterceptor包,请问可能的原因是什么?


可能的原因分析

关于CMSClassUnloadingEnabled参数错误

  • Gradle 8默认适配JDK 11及以上版本,而CMSClassUnloadingEnabled是针对CMS垃圾收集器的专属参数。JDK 9起CMS被标记为废弃,JDK 14直接移除了该收集器,高版本JDK不再识别此参数,因此启动虚拟机失败。

关于RequestInfo找不到的编译错误

  • JDK 9及以上版本启用模块化系统,Java EE相关模块(包括org.omg.PortableInterceptor所属的CORBA模块)被移出默认加载范围,必须显式声明才能引入。Gradle 8默认使用高版本JDK,编译时不会自动加载这些模块,导致找不到RequestInfo类。
  • Gradle 8的Java编译插件默认配置与旧版本存在差异,不再隐式包含这些已废弃/模块化的JDK模块依赖,进一步触发了编译错误。

内容的提问来源于stack exchange,提问作者daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 15:28:13