我正在尝试使用Oracle SQL Developer连接到Oracle 11g XE数据库。但是,我得到以下例外:
java.lang.SecurityException: sealing violation: package oracle.jdbc.driver is sealed
我在网上搜索了一个答案,但还没有找到解决方案。
造成这种情况的原因是什么?如何解决?
答案 0 :(得分:5)
来自Oracle的此文档:Known Issues and Limitations:
java.lang.SecurityException:密封违规例外(ID 6554602)
说明
从JDBC 10.2驱动程序开始,具有多个JDBC CLASSPATH中的jar文件可能会导致java.lang.SecurityException: 密封违规例外。
<强>解决方案强> (由Oracle建议)确保CLASSPATH包含 只有一个JDBC驱动程序JAR文件。
这个论坛:SecurityException: sealing violation from Class.forName
密封违规意味着密封包装中的某些类别 从两个不同的位置(目录或jar文件)加载。
密封包装本质上是说“我知道所有课程 在这个包中来自一个jar文件。出于安全原因没有 其他位置可能会提供此包中的类“。
您的类路径中有两个Oracle JDBC驱动程序jar。
因此,请确保您的类路径中没有多个Oracle JDBC驱动程序jar库。
答案 1 :(得分:0)
当CLASSPATH中有多个JDBC jar文件时会发生这种情况。