2016-02-19 45 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 ,如果您开发它,您需要修改它以删除弃用的类。