2011-06-23 9 views
5

Potrzebuję uruchomić serwer derby z mojej aplikacji java, używając klasy "org.apache.derby.drda.NetworkServerControl".
Kiedy próbuję uruchomić serwer, generuje wyjątek."SecurityException: naruszenie uszczelnienia" podczas uruchamiania połączenia Derby

Kod:

NetworkServerControl server = null; 
server=new NetworkServerControl(InetAddress.getLocalHost(),1527,"user","123") 
server.start(new PrintWriter(System.out)); 

Błąd:

Caused by: java.lang.SecurityException: sealing violation: package org.apache.derby.impl.store.raw.xact is sealed 

Czy ktoś może mi powiedzieć przyczyny tego błędu?

Odpowiedz

16

Prawdopodobnie masz dwa razy klasy Derby w swojej klasie. Poszukaj klas Derby w innym archiwum słoików i używaj ich tylko raz.

+0

Dzięki za odpowiedź. Czy ktoś może mi powiedzieć, które są obowiązkowe słoików derby potrzebne do dodania do kodu Java, aby skorzystać z metody start w klasie NetworkServerControl? – Pummy

+0

http://db.apache.org/derby/docs/10.8/getstart/rgslib46043.html –

1

Miałem do czynienia z tym samym problemem. Pakowałem swoją aplikację za pomocą One Jar. Jeden słoik ma swój własny program ładujący klasy, który może spowodować problem. Jeśli używasz One Jar, spróbuj zapakować swoją aplikację bez One Jar i sprawdź.