2016-02-19 60 views
0

我有一個使用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) 
運行時是基於Java和C建立了這個巨大的遺留代碼

在內部,我們使用此zip來支持不推薦使用的方法。如何繼續?

+0

什麼是'com.marimba'?公共圖書館?你公司的內部圖書館? – ThanksForAllTheFish

+3

'sun。*'通常是_internal_包,你不應該使用,因爲它們可以在任何版本的JDK中被刪除(可能在那種情況下)。因此,您必須使用Java 7運行該應用程序或重構它。 – Thomas

+0

其實sun.io.CharToByteConverter是一個棄用的類,因爲可能是1.7 – MaVRoSCy

回答

0

marbima是你用作第三方lib或你正在使用的東西嗎?

正如評論人提到CharToByteConverter已取代java.nio.charset

Java Class chartobyteconverter Type deprecated

如果您正在使用marbima作爲第三方的lib,請聯繫開發者,看它是否被認證爲JDK 1.8 ,如果您開發它,您需要修改它以刪除棄用的類。