【发布时间】:2019-03-01 16:02:57
【问题描述】:
我将项目 JDK 更新为 jdk1.8.144_32bit(从 1.7 开始)。
但是出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.JceSecurity
at javax.crypto.SecretKeyFactory.nextSpi(SecretKeyFactory.java:295)
at javax.crypto.SecretKeyFactory.<init>(SecretKeyFactory.java:121)
at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:160)
at oracle.jdbc.driver.T4C8TTIdty.<init>(T4C8TTIdty.java:517)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1603)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566)
at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:53)
at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:279)
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2343)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2329)
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2071)
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1525)
然后我从 Oracle 下载站点安装了 JCE: https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
除了我很确定 JCE 是根据这些答案安装的之外,没有任何变化: https://stackoverflow.com/a/13238132
在我的场景中:
System.out.println(Cipher.getMaxAllowedKeyLength("AES"));
返回
2147483647
怎么了? 为什么这个环境不能正常工作?
我正在使用 32 位版本的 jdk1.8.144。 和 Eclipse Oxygen.3a 发布 (4.7.3a)
【问题讨论】:
标签: java eclipse maven 32-bit jce