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

移除功能后出现jdk.internal.util.ArraysSupport初始化失败问题求助

问题描述

谨慎移除部分功能后出现如下错误,抛出错误的代码区域未做任何修改,更换JDK 11发行版也无法解决该问题。

错误日志

java.lang.NoClassDefFoundError: Could not initialize class jdk.internal.util.ArraysSupport
    at java.util.Arrays.equals(Arrays.java:2873) ~[?:?]
    at sun.security.util.ObjectIdentifier.equals(ObjectIdentifier.java:381) ~[?:?]
    at sun.security.x509.AlgorithmId.derEncode(AlgorithmId.java:213) ~[?:?]
    at sun.security.x509.AlgorithmId.encode(AlgorithmId.java:158) ~[?:?]
    at sun.security.x509.X509Key.encode(X509Key.java:471) ~[?:?]
    at sun.security.x509.X509Key.buildX509Key(X509Key.java:214) ~[?:?]
    at sun.security.x509.X509Key.parse(X509Key.java:170) ~[?:?]
    at sun.security.x509.CertificateX509Key.<init>(CertificateX509Key.java:75) ~[?:?]
    at sun.security.x509.X509CertInfo.parse(X509CertInfo.java:674) ~[?:?]
    at sun.security.x509.X509CertInfo.<init>(X509CertInfo.java:169) ~[?:?]
    at sun.security.x509.X509CertImpl.parse(X509CertImpl.java:1842) ~[?:?]
    at sun.security.x509.X509CertImpl.<init>(X509CertImpl.java:194) ~[?:?]
    at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:105) ~[?:?]
    at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:355) ~[?:?]
    at sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:435) ~[?:?]
    at sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369) ~[?:?]
    at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) ~[?:?]
    at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443) ~[?:?]
    at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421) ~[?:?]
    at sun.security.ssl.TransportContext.dispatch(TransportContext.java:182) ~[?:?]
    at sun.security.ssl.SSLTransport.decode(SSLTransport.java:172) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1426) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1336) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421) ~[?:?]
    at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:40) ~[postgresql-42.2.6.jar:42.2.6]
    at org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:441) ~[postgresql-42.2.6.jar:42.2.6]
    at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:94) ~[postgresql-42.2.6.jar:42.2.6]
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192) ~[postgresql-42.2.6.jar:42.2.6]
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) ~[postgresql-42.2.6.jar:42.2.6]
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195) ~[postgresql-42.2.6.jar:42.2.6]
    at org.postgresql.Driver.makeConnection(Driver.java:458) ~[postgresql-42.2.6.jar:42.2.6]
    at org.postgresql.Driver.connect(Driver.java:260) ~[postgresql-42.2.6.jar:42.2.6]
    at java.sql.DriverManager.getConnection(DriverManager.java:677) ~[java.sql:?]
    at java.sql.DriverManager.getConnection(DriverManager.java:189) ~[java.sql:?]
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:155) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:146) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.datasource.SingleConnectionDataSource.initConnection(SingleConnectionDataSource.java:224) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.datasource.SingleConnectionDataSource.getConnection(SingleConnectionDataSource.java:164) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:159) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:117) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:376) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:465) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:475) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:508) ~[spring-jdbc-5.3.12.jar:5.3.12]
    at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:515) ~[spring-jdbc-5.3.12.jar:5.3.12]
排查与解决建议
  • 检查JVM模块访问参数:jdk.internal.util.ArraysSupport是JDK内部类,移除功能时可能误加了限制模块的启动参数(如--limit-modules、--patch-module),导致java.base模块无法正常初始化。检查启动命令,确保没有限制核心模块访问,必要时添加--add-modules java.base。
  • 清理类路径冲突:排查是否有旧版本JDK相关JAR包混入类路径,这类冲突会干扰JDK内部类加载。移除或替换冲突的依赖包。
  • 验证SSL连接配置:错误发生在PostgreSQL SSL握手阶段,检查数据库SSL配置、信任库文件是否完整,确认移除功能时未误删证书相关资源。
  • 清理编译缓存:移除功能后可能残留旧编译文件,清理项目的target目录、Maven/Gradle本地缓存,重新编译打包。
  • 重新验证JDK完整性:更换JDK时确保安装包是官方完整版本,可重新下载Oracle或OpenJDK 11的官方包替换现有JDK。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 18:24:54