Поддерживается ли Javax.ImageIO собственным изображением graalVM? - PullRequest
0 голосов
/ 04 марта 2020

Я тестирую ограничения собственных изображений graalVM с несколькими различными java функциями. Я написал небольшую программу, которая выполняет обнаружение острых краев и загружает изображения с помощью класса javax.ImageIO. код компилируется в собственное изображение просто отлично, но я получаю следующую ошибку времени выполнения при запуске кода как собственного изображения:

Exception in thread "main" java.lang.UnsatisfiedLinkError: com.sun.imageio.plugins.jpeg.JPEGImageReader.initJPEGImageReader()J [symbol: Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_initJPEGImageReader or Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_initJPEGImageReader__]
    at com.oracle.svm.jni.access.JNINativeLinkage.getOrFindEntryPoint(JNINativeLinkage.java:145)
    at com.oracle.svm.jni.JNIGeneratedMethodSupport.nativeCallAddress(JNIGeneratedMethodSupport.java:57)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.initJPEGImageReader(JPEGImageReader.java)
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.<init>(JPEGImageReader.java:232)
    at com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi.createReaderInstance(JPEGImageReaderSpi.java:85)
    at javax.imageio.spi.ImageReaderSpi.createReaderInstance(ImageReaderSpi.java:320)
    at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:532)
    at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:516)
    at javax.imageio.ImageIO.read(ImageIO.java:1463)
    at javax.imageio.ImageIO.read(ImageIO.java:1315)
    at Main.main(Main.java:32)

, что вызвано следующей строкой кода:

        File file = new File(args[0]);

        BufferedImage image = ImageIO.read(file);

Я пытался указать JpegImageReader в моем jni-config. json file:

[
  {
    "name" : "com.sun.imageio.plugins.jpeg.JPEGImageReader",
    "allDeclaredConstructors" : true,
    "allPublicConstructors" : true,
    "allDeclaredMethods" : true,
    "allPublicMethods" : true
  }
]

Однако я все еще получаю ту же ошибку, что и раньше. Кто-нибудь знает, может ли ImageIO поддерживаться в собственном образе graalvm, и если он не поддерживает, почему бы и нет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...