不是 运行 JRE 8

Not running with JRE 8

我有这个巨大的遗留代码,它建立在 Java 和使用 JNI 调用等的 C 之上。它在 JRE 7 上运行良好。我在 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)

在内部,我们使用此 zip 来支持已弃用的方法。如何进行?

marbima 是您用作第三方库的东西还是您正在开发的东西?

正如评论中提到的,CharToByteConverter 已被 java.nio.charset

取代

Java Class chartobyteconverter Type deprecated

如果您将 marbima 用作第三方库,请联系开发人员查看它是否已通过 JDK 1.8 认证,如果您开发它,则需要修改它以删除已弃用的 类.