0

我正在尝试注册以下 servlet 并获得异常。代码是:

static {
        IIORegistry registry = IIORegistry.getDefaultInstance();
        registry.registerServiceProvider(new com.twelvemonkeys.servlet.image.IIOProviderContextListener());
        registry.registerServiceProvider(new com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReaderSpi());
        registry.registerServiceProvider(new com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriterSpi());
    }

我收到以下异常。有趣的是我只使用读取而不是写入。我正在使用 3.6 版本的十二猴子。

感谢您的任何提示!

Exception in thread "main" java.lang.NoSuchMethodError: com.twelvemonkeys.imageio.util.IIOUtil.lookupProviderByName(Ljavax/imageio/spi/ServiceRegistry;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
    at com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriterSpi.onRegistration(JPEGImageWriterSpi.java:82)
    at javax.imageio.spi.SubRegistry.registerServiceProvider(Unknown Source)
    at javax.imageio.spi.ServiceRegistry.registerServiceProvider(Unknown Source)
    at javax.imageio.spi.IIORegistry$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.imageio.spi.IIORegistry.registerInstalledProviders(Unknown Source)
    at javax.imageio.spi.IIORegistry.registerStandardSpis(Unknown Source)
    at javax.imageio.spi.IIORegistry.<init>(Unknown Source)
    at javax.imageio.spi.IIORegistry.getDefaultInstance(Unknown Source)
    at deeplearningtest.test.<clinit>(test.java:32)
4

1 回答 1

0

好的,我解决了这个问题。我去了https://github.com/haraldk/TwelveMonkeys#manual-dependency-example并重新下载了文章中提到的所有 jar,确保我密切关注版本以确保选择 3.6,因为 3.6 是未显示为 jar 名称的一部分(我喜欢)。一旦我重新启动eclipse,我就解决了这个问题。非常感谢 haraldK!

于 2020-11-03T21:33:11.177 回答