10

I am trying to connect to an Oracle 11g XE databse using Oracle SQL Developer. However, I am getting the following exception:

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

I have searched for an answer on the web, but have not found a solution.

What is causing this and how can I fix it?

Magnilex
  • 11,584
  • 9
  • 62
  • 84
Vinci A De Paul
  • 101
  • 1
  • 1
  • 3

2 Answers2

12

From this documentation at Oracle : Known Issues and Limitations :

java.lang.SecurityException: Sealing violation exception (ID 6554602)

Description

Starting with JDBC 10.2 drivers, having more than one JDBC jar file in the CLASSPATH may result in a java.lang.SecurityException: Sealing violation exception.

Solution (Suggested by Oracle) Make sure that the CLASSPATH includes only one JDBC driver JAR file.

And this forum : SecurityException: sealing violation from Class.forName

A sealing violation means that some classes from a sealed package were loaded from two different locations (directories or jar files).

A sealed package is one that essentially says "I know that all classes in this package come from a single jar file. For security reason no other location may provide classes that are in this package".

Chances are you have two Oracle JDBC driver jars in your classpath.

So make sure that you don't have multiple Oracle JDBC driver jar libraries in your classpath.

Community
  • 1
  • 1
Arnaud
  • 17,229
  • 3
  • 31
  • 44
  • C:\Users\aVinci>ECHO %CLASSPATH% C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.8.0_111\lib;C:\Program Files\Java\jre1.8.0_111\lib;C:\Users\aVinci\AppData\Local\Android\Sdk\platform-tools;C:\Users\aVinci\AppData\Local\Android\Sdk\tools;. – Vinci A De Paul Apr 05 '17 at 13:22
  • @VinciADePaul : check the jars contained in those different locations. – Arnaud Apr 05 '17 at 13:25
2

It happens when you have more than one JDBC jar file in the CLASSPATH.

gile
  • 5,580
  • 1
  • 25
  • 31
  • @berger THIS is my classpath, and there is no jar file: C:\Users\aVinci>ECHO %CLASSPATH% C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.8.0_111\lib;C:\Program Files\Java\jre1.8.0_111\lib;C:\Users\aVinci\AppData\Local\Android\Sdk\platform-tools;C:\Users\aVinci\AppData\Local\Android\Sdk\tools;. – Vinci A De Paul Apr 05 '17 at 13:18
  • 1
    Make you sure Oracle SQL Developer classpath is not defined as -cp option on the command line that runs it. Furthermore, directories listed in the the CLASSPATH environment variable could contain jdbc driver. – gile Apr 05 '17 at 13:36