[英]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.