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

Java中Cipher.getInstance()遇NoSuchPaddingException缺失类型问题求助

问题分析与解决

你的代码逻辑本身没问题——NoSuchPaddingException确实是GeneralSecurityException的子类,用父类捕获完全合法。Eclipse报错提示“找不到NoSuchPaddingException类型”,大概率是项目构建路径的配置问题,而非代码逻辑错误,具体原因和解决方法如下:

可能的原因

  • 项目关联的JRE/JDK不完整:比如用了精简版的JRE(某些嵌入式或定制环境),缺失了java.security.NoSuchPaddingException所在的类库;或者构建路径里的JRE System Library配置错误,没有指向标准的完整JDK。
  • Eclipse缓存异常:编译缓存损坏导致类解析错误。

解决步骤

  1. 检查并修复JRE构建路径
    右键项目 → Build Path → Configure Build Path,在Libraries标签下找到JRE System Library:

    • 如果显示的是“JRE System Library [JRE名称]”,点击Edit,选择Workspace default JRE或者手动指定一个完整的标准JDK(比如Oracle JDK 8+/OpenJDK 8+),确保包含完整的rt.jar。
    • 如果没有JRE System Library,点击Add Library → JRE System Library,选择标准JDK添加。
  2. 清理项目并重新编译
    点击菜单栏Project → Clean,选中你的项目,点击OK清理编译缓存,之后Eclipse会自动重新编译项目。

  3. 确认JDK版本兼容性
    虽然NoSuchPaddingException在所有JDK版本中都存在,但AES/GCM/NoPadding模式需要JDK 7及以上版本支持。如果你的项目用了JDK 6或更低版本,即使解决了异常类的问题,后续也会出现加密模式不支持的错误,建议升级到JDK 8及以上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 12:04:57