`
lvhuiqing
  • 浏览: 257928 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

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

 
阅读更多
<p>pe8.1_02|javax.enterprise.system.stream.err|_ThreadID=12;|java.lang.SecurityException: Sealing violation </p>
<p>loading oracle.sql.BlobDBAccess : Package oracle.sql is sealed.<br>at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1764)<br>at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:905)<br>at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1370)<br>at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1234)<br>at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br>at java.lang.ClassLoader.defineClass1(Native Method)<br>at java.lang.ClassLoader.defineClass(ClassLoader.java:620)<br>at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)<br>at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1774)<br>at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:905)<br>at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1370)<br>at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1234)<br>at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br>at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)<br>at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)<br>at java.sql.DriverManager.getConnection(DriverManager.java:582)<br>at java.sql.DriverManager.getConnection(DriverManager.java:185)<br>at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580)<br>at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222)<br>at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)<br>at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)<br>at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)<br>at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)<br>at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)<br>at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)<br>at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)<br>at com.neusoft.avnc.lbs.stkrttp.db.bussiness.ContentContr.selectContents(ContentContr.java:318)<br>at com.neusoft.avnc.lbs.stkrttp.core.ScanDBBusiness.dbWork(ScanDBBusiness.java:69)<br>at com.neusoft.avnc.lbs.stkrttp.mmo.DbReadMMO.run(DbReadMMO.java:60)<br>at java.lang.Thread.run(Thread.java:619)</p>

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

<p>1,使用以前版本的jar包,例如10.1</p>
<p>2,把jar包jar包中的MANIFEST文件删掉最后的几行</p>

<p>原来的MANIFEST文件:</p>
<p>Manifest-Version: 1.0<br>Specification-Title: Oracle JDBC driver classes for use with JDK14<br>Sealed: true<br>Created-By: 1.4.2_14 (Sun Microsystems Inc.)<br>Implementation-Title: ojdbc14.jar<br>Specification-Vendor: Oracle Corporation<br>Specification-Version: Oracle JDBC Driver version - "10.2.0.4.0"<br>Implementation-Version: Oracle JDBC Driver version - "10.2.0.4.0"<br>Implementation-Vendor: Oracle Corporation<br>Implementation-Time: Sat Feb 2 11:40:29 2008</p>
<p>Name: oracle/sql/converter/<br>Sealed: false</p>
<p>Name: oracle/sql/<br>Sealed: false</p>
<p>Name: oracle/sql/converter_xcharset/<br>Sealed: false</p>
<p>改成:</p>
<p>Manifest-Version: 1.0<br>Specification-Title: Oracle JDBC driver classes for use with JDK14<br>Sealed: true<br>Created-By: 1.4.2_14 (Sun Microsystems Inc.)<br>Implementation-Title: ojdbc14.jar<br>Specification-Vendor: Oracle Corporation<br>Specification-Version: Oracle JDBC Driver version - "10.2.0.4.0"<br>Implementation-Version: Oracle JDBC Driver version - "10.2.0.4.0"<br>Implementation-Vendor: Oracle Corporation<br>Implementation-Time: Sat Feb 2 11:40:29 2008</p>

<p>至少我的困难是可以解决了,祝大家好运!</p>
分享到:
评论

相关推荐

    ojdbc14 Oracle JDBC Driver version 10.2.0.5.0

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

    oracle的jdbc驱动包

    Oracle的JDBC驱动包是Java开发者连接Oracle数据库的重要工具,它允许Java应用程序通过JDBC(Java Database Connectivity)接口与Oracle数据库进行交互。JDBC是一种Java API,由Sun Microsystems(现已被Oracle公司...

    卫星电视专业用语中英文对照.doc

    46. Solder sealed(锡封)与Glue sealed(胶封):密封电子元件的方法,防止水分或其他污染物进入。 47. Wireless(无线):表示信号通过无线电波而非物理线缆传输。 48. AC(澳规)、US(美规)、UK(英规)、EU...

    四月高等教育自学考试全国统一命题考试计算机基础与程序设计.pdf

    15. SQL查询子句:ORDER BY子句用于对查询结果进行排序。 16. 数据绑定控件:BindingNavigator控件提供了一种在窗体上为数据绑定控件提供导航和操作的用户界面。 17. 软件开发模型:喷泉模型是一种以用户需求为...

    ASP.NET面试题目

    15. 受管制的代码:在.NET中,受管制的代码指的是遵循.NET Framework规则,如内存管理、安全性、异常处理的代码。 16. 强类型系统:在强类型语言中,每个变量都有特定的数据类型,编译时会进行类型检查。 17. .NET...

    C#开大复习题

    2. CLR(Common Language Runtime):CLR是.NET框架的核心组成部分,它提供了一个运行环境,用于执行托管代码,并负责内存管理、类型安全、异常处理等。 3. C#标识符规则:标识符必须以字母或下划线开头,不能以...

    最新版windows jdk-18_windows-x64_bin.zip

    3. 新功能引入:JDK 18包含了一些新的语言特性和API,例如Pattern Matching for instanceof操作符,改进的密封类(Sealed Classes)等,这些新特性旨在提高代码的可读性和可维护性。 4. 兼容性提升:JDK 18.0.1.1对...

    广州中小型IT公司面试题集

    - finally:保证代码块无论是否发生异常都会执行。 - finalize:对象被垃圾收集前调用的清理方法。 13. ASP.NET与ASP的进步: - 更强的组件模型。 - 基于事件驱动的编程模型。 - 更好的代码分离和维护性。 14...

    一套真实的国际大公司.NET程序员笔试试题

    7. `sealed`修饰符:`sealed`修饰的类不能被其他类继承。答案是B. 不能继承。 8. C#的继承与接口:A是错误的,C#支持单继承但多接口实现。正确答案是B和C。 9. `System.Web.UI.Page`继承性:在.NET中,`System....

    oracle jdk17

    Oracle JDK 17是Oracle公司推出的Java Development Kit的最新稳定版本,主要面向开发人员和企业进行Java应用程序的开发、测试和部署。Oracle JDK是Java平台标准版(Java SE)的一部分,它提供了完整的Java运行环境和...

    C#案例.rar

    "SealedDemo.cs"将展示如何使用`sealed`关键字来防止类被继承。 8. **多态演示(PolyMorphDemo1.cs, PolyMorphDemo2.cs)**:多态是面向对象编程的重要特性,允许使用父类引用操作子类对象。这两个文件将通过实例展示...

    asp.net面试题

    6. `sealed`修饰的类:被`sealed`修饰的类不能被继承,增加了类的安全性和性能优化。 7. ADO.NET的主要对象:DataSet、DataTable、DataRow、SqlCommand、SqlConnection,它们分别用于数据存储、数据操作、数据连接...

    VisualC++(VC++)编程序软件语言关键字大全集合[借鉴].pdf

    29. `__sealed`: 阻止类被进一步继承。 30. `__stdcall`: 调用约定,参数由调用者清理。 31. `__super`: 访问父类成员。 32. `__thiscall`: 默认的成员函数调用约定。 33. `__try`, `__except`, `__finally`: ...

    C#关键字修饰符

    7. `catch`: 异常处理中的捕获异常块。 8. `char`: 字符类型,用于存储Unicode字符。 9. `checked`: 控制溢出检查,确保数值运算不会超出数据类型的范围。 10. `class`: 定义类的关键词。 11. `const`: 声明常量,值...

    点.net面试题及答案

    2. 数据提供程序:对SQL Server数据库操作应选用SQL Server .NET Framework数据提供程序。 3. 代码隐藏文件:ASP.NET中的代码隐藏文件(如`.ascx.cs`)存放与用户界面分离的编程逻辑。 以上是对.NET面试题中涉及的...

    C#程序单词注释汇总

    16. **Sealed**: - 密封。 - 用于标记类或方法不可被继承。 17. **DBNull**: - 数据库空值。 - 表示数据库中的NULL值,在.NET框架中用于区分普通语言中的null。 18. **Profile**: - 配置文件。 - 通常包含...

    jre-16.0.1-full.zip

    Java 16,官方代号为GraalVM Enhancements,是Oracle公司发布的一个重要版本,它带来了许多增强和新特性。这个版本的发布遵循了Java每六个月发布一个新版本的节奏,旨在更快地引入创新并提供持续的性能优化。 首先...

    2021-2022计算机二级等级考试试题及答案No.3365.docx

    13. 不可覆盖的方法:在某些编程语言中,有些方法可能被声明为final或sealed,不允许子类覆盖。 14. E-mail 地址格式:收件人的账号是邮箱地址中@符号前的部分,这里是`wendiluo`。 15. Access 表之间的关系:...

    你必须知道的C#的25个基础概念(附演示)

    - explicit是显式转换,可能丢失数据或抛出异常。 - implicit是隐式转换,编译器自动处理。 24. params关键字: - params用于传递可变数量的参数,类似Java的varargs。 25. 反射(Reflection): - 反射允许...

Global site tag (gtag.js) - Google Analytics