Oracle SQLDeveloperを使用してOracle11gXEデータベースに接続しようとしています。ただし、次の例外が発生します。
Java.lang.SecurityException: sealing violation: package Oracle.jdbc.driver is sealed
Webで回答を検索しましたが、解決策が見つかりませんでした。
これは何が原因で、どうすれば修正できますか?
Oracleのこのドキュメントから: 既知の問題と制限 :
Java.lang.SecurityException:シーリング違反の例外(ID 6554602)
説明
JDBC 10.2ドライバー以降、CLASSPATHに複数のJDBC jarファイルがあると、Java.lang.SecurityException:シーリング違反例外が発生する可能性があります。
Solution(Oracleが推奨)CLASSPATHにJDBCドライバーJARファイルが1つだけ含まれていることを確認してください。
そしてこのフォーラム: SecurityException:Class.forNameからの封印違反
封印違反とは、封印されたパッケージの一部のクラスが2つの異なる場所(ディレクトリまたはjarファイル)からロードされたことを意味します。
封印されたパッケージとは、基本的に「このパッケージのすべてのクラスが単一のjarファイルからのものであることを知っています。セキュリティ上の理由から、このパッケージに含まれるクラスを他の場所で提供することはできません」というものです。
クラスパスに2つのOracleJDBCドライバーjarがある可能性があります。
したがって、クラスパスに複数のOracleJDBCドライバーjarライブラリがないことを確認してください。
これは、CLASSPATHに複数のJDBCjarファイルがある場合に発生します。