密封违规:软件包oracle.net.ns被密封

Vin*_*aul 6 java oracle jdbc oracle11g ojdbc

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

java.lang.SecurityException: sealing violation: package oracle.jdbc.driver is sealed
Run Code Online (Sandbox Code Playgroud)

我已经在网上搜索了答案,但没有找到解决方案。

是什么原因造成的,我该如何解决?

Arn*_*aud 7

从Oracle的此文档中:已知问题和局限性

java.lang.SecurityException:违反密封的异常(ID 6554602)

描述

从JDBC 10.2驱动程序开始,CLASSPATH中包含多个JDBC jar文件可能会导致java.lang.SecurityException:违反密封的异常。

解决方案 (由Oracle建议)确保CLASSPATH仅包含一个JDBC驱动程序JAR文件。

这个论坛:SecurityException:从Class.forName密封违规

违反密封意味着从两个不同的位置(目录或jar文件)加载密封包装中的某些类。

密封包装实际上是说“我知道该包装中的所有类都来自单个jar文件。出于安全原因,没有其他位置可以提供此包装中的类”。

您的类路径中可能有两个Oracle JDBC驱动程序jar。

因此,请确保您的类路径中没有多个Oracle JDBC驱动程序jar库。