2016-02-19 3 views
0

У меня есть этот огромный унаследованного кода, который построен на Java и C, который использует JNI вызовов и т.д. Это работает нормально с JRE 7. Я получаю следующее исключение при запуске на JRE 8.Не работает с JRE 8

#INVENTORYTUNER: Finished setting trusted transmitters, added: vw-pun-mar-dv07 
#java.lang.NoClassDefFoundError: sun/io/CharToByteConverter 
# at com.marimba.tools.util.ByteBuffer.setEncoding(ByteBuffer.java:109) 
# at com.marimba.tools.util.ByteBuffer.<init>(ByteBuffer.java:97) 
# at com.marimba.tools.logs.LogEntry.<init>(LogEntry.java:21) 
# at com.marimba.tools.logs.GenericLog.logData(GenericLog.java:91) 
# at com.marimba.tools.logs.GenericLog.log(GenericLog.java:84) 
# at com.marimba.tools.logs.LogDispatcher.log(LogDispatcher.java:267) 
# at com.marimba.castanet.tuner.Workspace.log(Workspace.java:1112) 
# at com.marimba.castanet.tuner.Workspace.log(Workspace.java:1031) 
# at com.marimba.castanet.tuner.Workspace.log(Workspace.java:1024) 
# at com.marimba.castanet.tuner.Channel.<init>(Channel.java:180) 
# at com.marimba.castanet.tuner.Workspace.getChannelCreate(Workspace.java:701) 
# at com.marimba.castanet.tuner.Workspace.getChannelCreate(Workspace.java:684) 
# at com.marimba.castanet.launch.Launcher$Create.run(Launcher.java:399) 
# at com.marimba.tools.util.ThreadPool.runClient(ThreadPool.java:374) 
# at com.marimba.tools.util.ThreadPool.run(ThreadPool.java:360) 
# at java.lang.Thread.run(Unknown Source) 

Внутренне мы используем этот почтовый индекс для поддержки устаревших методов. Как это сделать?

+0

Что такое 'com.marimba'? Публичная библиотека? Внутренняя библиотека для вашей компании? – ThanksForAllTheFish

+3

'sun. *' Обычно являются пакетами _internal_, которые вы должны использовать _not_, поскольку их можно удалить (и, вероятно, в этом случае) в любой версии JDK. Таким образом, вы либо должны запустить это приложение с Java 7, либо реорганизовать его. – Thomas

+0

На самом деле sun.io.CharToByteConverter - это устаревший класс с 1.7 – MaVRoSCy

ответ

0

Является ли marbima чем-то, что вы используете как стороннюю библиотеку или что-то, над чем вы работаете?

Как люди в комментариях упоминали CharToByteConverter был заменен java.nio.charset

См Java Class chartobyteconverter Type deprecated

Если вы используете marbima как Lib третьей стороны, обратитесь к УБС, чтобы увидеть, если он сертифицирован для JDK 1.8 , если вы его разработали, вам необходимо изменить его, чтобы удалить устаревшие классы.