2016-03-28 21 views
5

Właściwie ja dostaję błąd:Czy jest dostępna wersja SqlJ obsługiwana przez środowisko Java 8?

Exception in thread "main" java.lang.NoClassDefFoundError:sun/io/CharToByteConverter 

To dlatego, że w Javie 8, klasa CharToByteConverter została usunięta, ponieważ była przestarzała.

Teraz chcę wiedzieć o jakiejkolwiek alternatywie, która zastąpiłaby ten pakiet/klasę i zapewnić jej funkcjonalność bez wyrzucania wyjątku wspomnianego powyżej.

Ta klasa jest używana w sqlj za

Translator.jar 

a wewnątrz niego jest w

sqlj.util.io.OracleOutputStream.class 

EDIT: Gdybym zastąpić klasę CharToByteConverter z klasą java.nio.charset, nadal SQLJ może nie być w stanie go wykryć. Proszę, popraw mnie jeśli się mylę. I daj mi znać, czy zastąpienie CharToByteConverter przez java.nio.charset może rozwiązać problem?

+0

Możliwy duplikat http://stackoverflow.com/questions/10444129/java-class- chartobyteconverter-type-przestarzałe – Rehman

Odpowiedz

-1

Javadoc komentarz mówi wszystko:

Deprecated! Replaced - by java.nio.charset

szukać zastępczego klasy/metody w pakiecie java.nio.charset.

pamiętać, że korzystanie zajęcia w JDK, które nie są częścią oficjalnie udokumentowane API jest zły pomysł na pierwszym miejscu

+1

Zamiast kopiowania wklejając odpowiedź powinieneś oznaczyć ją jako duplikat :) – Rehman

+0

Przeczytałem już ten post, co sugeruje to, o czym wspomniałeś powyżej. Jednak java.nio.charset zastępuje przestarzałą klasę CharToByteConverter.class Jednakże szukam zamiennika dla całego pliku Translator.jar. Powodem jest to, że nawet jeśli zamieniam klasę CharToByteConverter na kodowanie, nadal będzie powodować błędy podczas korzystania z pliku translator.jar, którego SQLJ używa wewnętrznie jako biblioteki. Przykro mi, ponieważ prawdopodobnie napisałem moje pytanie źle. Zmodyfikuj go, aby zapewnić lepszy widok mojego problemu. –

Powiązane problemy