密封违规:包oracle.net.ns是密封的

时间:2017-04-05 12:52:59

标签: java oracle jdbc oracle11g ojdbc

我正在尝试使用Oracle SQL Developer连接到Oracle 11g XE数据库。但是,我得到以下例外:

java.lang.SecurityException: sealing violation: package oracle.jdbc.driver is sealed

我在网上搜索了一个答案,但还没有找到解决方案。

造成这种情况的原因是什么?如何解决?

2 个答案:

答案 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文件时会发生这种情况。