Зависимость тянет в транзитивной библиотеке, которая ломает ImageIO.read с использованием файлов TIFF - PullRequest
1 голос
/ 05 марта 2020

В настоящее время я пытаюсь объединить отдельный проект с нашим, который использует deeplearning4j-core в качестве зависимости. deeplearning4j-core использует com.twelvemonkeys.imageio внутри, что регистрирует плагины в ImageIO.read(). Однако это, кажется, нарушает все вызовы ImageIO.read, которые у нас в данный момент находятся в работе, со следующим сообщением об ошибке:

javax.imageio.IIOException: No SOF segment in stream
    at com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader.getSOF(Unknown Source) ~[imageio-jpeg-3.1.1.jar:3.1.1]
    at com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source) ~[imageio-jpeg-3.1.1.jar:3.1.1]
    at com.github.jaiimageio.impl.plugins.tiff.TIFFJPEGDecompressor.decodeRaw(TIFFJPEGDecompressor.java:226) ~[jai-imageio-core-1.4.0.jar:1.4.0]
    at com.github.jaiimageio.plugins.tiff.TIFFDecompressor.decode(TIFFDecompressor.java:2583) ~[jai-imageio-core-1.4.0.jar:1.4.0]
    at com.github.jaiimageio.impl.plugins.tiff.TIFFImageReader.decodeTile(TIFFImageReader.java:1144) ~[jai-imageio-core-1.4.0.jar:1.4.0]
    at com.github.jaiimageio.impl.plugins.tiff.TIFFImageReader.read(TIFFImageReader.java:1414) ~[jai-imageio-core-1.4.0.jar:1.4.0]
    at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1468) ~[na:na]
    at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1315) ~[na:na]
  [production code]

Мы читаем в файлах TIFF, которые ранее не распознавались. Теперь они вообще не могут быть прочитаны и выдают исключение, указанное выше, 90% времени запуска программного обеспечения. В 10% случаев он работает без перебоев, пока JVM не приостановится. Это заставляет меня думать, что это проблема с порядком загрузки, но я слишком неопытен, чтобы разобраться с этим.

Я знаю, что основная проблема, вероятно, больше, но запуск и запуск прямо сейчас имеют высокий приоритет в первую очередь .

Мы используем gradle.

...