关于loading oracle.sql.BlobDBAccess : Package oracle.sql is sealed.异常

pe8.1_02|javax.enterprise.system.stream.err|_ThreadID=12;|java.lang.SecurityException: Sealing violation

loading oracle.sql.BlobDBAccess : Package oracle.sql is sealed.
 at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1764)
 at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:905)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1370)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1234)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
 at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1774)
 at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:905)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1370)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1234)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
 at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
 at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
 at java.sql.DriverManager.getConnection(DriverManager.java:582)
 at java.sql.DriverManager.getConnection(DriverManager.java:185)
 at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580)
 at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222)
 at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)
 at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)
 at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)
 at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
 at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
 at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
 at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)
 at com.neusoft.avnc.lbs.stkrttp.db.bussiness.ContentContr.selectContents(ContentContr.java:318)
 at com.neusoft.avnc.lbs.stkrttp.core.ScanDBBusiness.dbWork(ScanDBBusiness.java:69)
 at com.neusoft.avnc.lbs.stkrttp.mmo.DbReadMMO.run(DbReadMMO.java:60)
 at java.lang.Thread.run(Thread.java:619)

 

今天偶然遇到了这个问题,查了半天原因,在论坛里查了半天都没有收获,结果在sun公司的官方网站上找到了答案。结果原因是oracle 10.2的jar包的作者把文件给seal(封印?)住了,导致类加载器加载不上jar包中的类。解决方案:

 

1,使用以前版本的jar包,例如10.1

2,把jar包jar包中的MANIFEST文件删掉最后的几行

 

原来的MANIFEST文件:

Manifest-Version: 1.0
Specification-Title:    Oracle JDBC driver classes for use with JDK14
Sealed: true
Created-By: 1.4.2_14 (Sun Microsystems Inc.)
Implementation-Title:   ojdbc14.jar
Specification-Vendor:   Oracle Corporation
Specification-Version:  Oracle JDBC Driver version - "10.2.0.4.0"
Implementation-Version: Oracle JDBC Driver version - "10.2.0.4.0"
Implementation-Vendor:  Oracle Corporation
Implementation-Time:    Sat Feb  2 11:40:29 2008

Name: oracle/sql/converter/
Sealed: false

Name: oracle/sql/
Sealed: false

Name: oracle/sql/converter_xcharset/
Sealed: false

改成:

Manifest-Version: 1.0
Specification-Title:    Oracle JDBC driver classes for use with JDK14
Sealed: true
Created-By: 1.4.2_14 (Sun Microsystems Inc.)
Implementation-Title:   ojdbc14.jar
Specification-Vendor:   Oracle Corporation
Specification-Version:  Oracle JDBC Driver version - "10.2.0.4.0"
Implementation-Version: Oracle JDBC Driver version - "10.2.0.4.0"
Implementation-Vendor:  Oracle Corporation
Implementation-Time:    Sat Feb  2 11:40:29 2008

 

至少我的困难是可以解决了,祝大家好运!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值