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

使用Gradle Tomcat插件启动Spring MVC项目失败求助

Gradle Tomcat插件启动报错解决思路

核心问题分析

报错groovy.lang.MissingMethodException: 找不到sun.security.tools.keytool.Main.main(),本质是JDK内部API访问限制或插件与JDK版本不兼容导致的类加载问题。

具体解决步骤

  • 验证JDK版本兼容性:该keytool类属于JDK内部API,JDK 9及以上默认封闭了这类内部API的访问权限,若使用JDK 9+,需确认插件是否适配。
  • 切换JDK版本:临时改用JDK 8执行tomcatRun命令,若能正常启动,即可确认是JDK版本适配问题。
  • 升级Gradle Tomcat插件:选用适配JDK 9+的最新插件版本,更新build.gradle中的插件依赖。
  • 添加JVM参数(JDK 9+适用):在build.gradle的Tomcat任务中添加参数开放内部API访问:
    tomcatRun {
        jvmArgs += ['--add-exports', 'jdk.jartool/sun.security.tools.keytool=ALL-UNNAMED']
    }
    
  • 排查依赖冲突:执行gradle dependencies查看依赖树,确认是否存在与Tomcat插件、JDK安全工具类冲突的依赖。

相关关键词

JDK模块化、内部API访问限制、Gradle Tomcat插件版本兼容、--add-exports参数、keytool类加载异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 03:31:59