为什么我在1.8.0_45中得到java.lang.NoSuchMethodError:createImageUsingNativeSize错误

时间:2015-07-23 10:22:11

标签: java macos java-8

在某些情况下用于处理从某些webbrowsers(firefox)拖放的单个图像的代码在1.8.0_25中没有出现任何问题

image  = (Image) trans.getTransferData("image/x-java-image;class=java.awt.Image");

但现在在1.8.0_45导致

java.lang.NoSuchMethodError: createImageUsingNativeSize
at sun.lwawt.macosx.CDataTransferer.getImageForByteStream(Native Method)
at sun.lwawt.macosx.CDataTransferer.platformImageBytesToImage(CDataTransferer.java:238)
at sun.awt.datatransfer.DataTransferer.translateBytes(DataTransferer.java:1659)
at sun.lwawt.macosx.CDataTransferer.translateBytes(CDataTransferer.java:142)
at sun.awt.dnd.SunDropTargetContextPeer.getTransferData(SunDropTargetContextPeer.java:269)
at sun.awt.datatransfer.TransferableProxy.getTransferData(TransferableProxy.java:73)
at java.awt.dnd.DropTargetContext$TransferableProxy.getTransferData(DropTargetContext.java:376)
at com.jthink.jaikoz.draganddrop.ImageHandler.createImageCell(ImageHandler.java:30)

这是新版OSX Java中的错误还是我做错了什么,有一个简单的解决方法吗?

2 个答案:

答案 0 :(得分:0)

降级为JDK 1.8.0_31为我解决了这个问题。

我打电话给以下" jdk8"脚本用"。 jdk8"

version=1.8.0_31
export JAVA_HOME=$(/usr/libexec/java_home -v $version) 

并获取

java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

并且错误java.lang.NoSuchMethodError:1.8.0_45中的createImageUsingNativeSize错误消失了

答案 1 :(得分:0)

This bug was eventually fixed in JDK1.8.0_66, see https://bugs.openjdk.java.net/browse/JDK-8037371