2015-10-19 122 views
0

我正在使用CQ5上的Oracle数据库 - OSGI捆绑管理。起初我已经在系统包(org.apache.felix.framework)上导入了类javax.crypt.Cipherjava.lang.NoClassDefFoundError:javax/crypto/Cipher in oracle 11g数据库连接osgi

... 
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 
... 

从那以后,我跟着这个example创建甲骨文的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已编译但运行时不存在,你有任何idead来解决这个问题问题 ?

+0

[java.lang.NoClassDefFoundError:javax/crypto/Cipher]的可能重复(http://stackoverflow.com/questions/22464764/java-lang-noclassdeffounderror-javax-crypto-cipher) –

回答

0

通常这个类来自Oracle JDK包含的jce.jar。 但是,您的软件无法与不同类型的JDK一起使用,例如OpenJDK。

在运行时提供此依赖项,包括JCE standalone jar