繁体   English   中英

java.lang.NoClassDefFoundError:Oracle 11g数据库连接osgi中的javax / crypto / Cipher

[英]java.lang.NoClassDefFoundError: javax/crypto/Cipher in oracle 11g database connection osgi

我正在使用CQ5上的Oracle数据库-OSGI捆绑管理。 首先,我已经在系统捆绑包(org.apache.felix.framework)中导入了javax.crypt.Cipher类。

...
javax.crypto,version=0.0.0.1_007_JavaSE
javax.crypto.interfaces,version=0.0.0.1_007_JavaSE
javax.crypto.spec,version=0.0.0.1_007_JavaSE 
...

从那时起,我按照此示例创建了Oracle osgi连接器捆绑包,并导入了包含javax.crypt.Cipher的pakcage:

Imported Packages   javax.crypto,version=0.0.0.1_007_JavaSE from org.apache.felix.framework (0)
                    javax.crypto.interfaces,version=0.0.0.1_007_JavaSE from org.apache.felix.framework (0)
                    javax.crypto.spec,version=0.0.0.1_007_JavaSE from org.apache.felix.framework (0)

当我调用到数据库的sql连接时,引发了一个错误:

Caused by: java.lang.NoClassDefFoundError: javax/crypto/Cipher
    at oracle.security.o5logon.O5LoginClientHelper.decryptAES(Unknown Source)
    at oracle.security.o5logon.O5LoginClientHelper.generateOAuthResponse(Unknown Source)
    at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:655)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:366)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
    at java.sql.DriverManager.getConnection(DriverManager.java:579)
    at java.sql.DriverManager.getConnection(DriverManager.java:221)
    at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:65)
    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:974)
    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
    at org.apache.jsp.apps.dbtest.components.dbconnectiontest.body_jsp._jspService(body_jsp.java:179)
    at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:502)
    ... 129 more

据我了解, javax.crypto.Cipher已编译,但在运行时不存在,您是否有解决此问题的想法?

通常,此类来自Oracle JDK包含的jce.jar。 但是您的软件不能与其他类型的JDK(例如OpenJDK)一起使用。

使此依赖项在运行时可用,包括JCE独立jar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM