com.twelvemonkeys.servlet.image.IIOProviderContextListener

Я использую Maven для создания проекта, который развертывается на сервере Tomcat. Процесс сборки завершился успешно, но когда я пытаюсь развернуть проект на Tomcat 7, выдается ошибка. Я вижу, что файл twelemonkey-servlet.jar находится в папке lib в WEB-INF.

pom.xml

      <repository>
        <id>project.local</id>
        <name>project</name>
        <url>file://${project.basedir}/repo</url>
    </repository>




 <dependency>
        <groupId>com.twelvemonkeys.imageio</groupId>
        <artifactId>imageio-metadata</artifactId>
        <version>3.06</version> 
    </dependency>

  <dependency>
        <groupId>com.twelvemonkeys</groupId>
        <artifactId>twelvemonkeys-servlet</artifactId>
        <version>3.08</version> 
    </dependency> 

Сборка прошла успешно, но при развертывании я получаю следующее исключение

SEVERE: Error configuring application listener of class org.apache.catalina.deploy.ApplicationListener@386d4852
java.lang.ClassNotFoundException: com.twelvemonkeys.servlet.image.IIOProviderContextListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4854)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1653)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:680)

Пожалуйста, предложите решение, если кто-то сталкивался с этой проблемой раньше.

1 ответ

Поздний ответ, но у меня была такая же проблема сегодня. Я заметил, что artifactId для сервлета twelvemonkeys изменился с версии 3. Используя приведенную ниже зависимость, он работает для меня.

<dependency>
    <groupId>com.twelvemonkeys.servlet</groupId>
    <artifactId>servlet</artifactId>
    <version>3.1.2</version>
</dependency> 
Другие вопросы по тегам