题
在添加resteasy多部分依赖关系之后,在应用程序启动过程中出现奇怪的错误消息提示后,开发具有resteasy的文件上传功能的REST服务吗?
PS使用resteasy-jaxrs和resteasy-multipart 2.2.1.GA版。
SEVERE: Exception sending context initialized event to listener instance of class
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
java.lang.RuntimeException: Unable to scan WEB-INF for JAX-RS annotations,
you must manually register your classes/resources
//...
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.io.EOFException: Unexpected end of ZLIB input stream
at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:223)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:141)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:146)
//...
at org.scannotation.AnnotationDB.scanClass(AnnotationDB.java:343)
at org.scannotation.AnnotationDB.scanArchives(AnnotationDB.java:326)
at org.jboss.resteasy.plugins.server.servlet.ConfigurationBootstrap
.createDeployment(ConfigurationBootstrap.java:163)
... 17 more
09 Julai 2011 1:52:13 PM org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
java.lang.NullPointerException
at org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap.contextDestroyed...
解
不知道是什么原因造成的,有两种解决方案:
1.降级版本
将“ resteasy-multipart-provider ”降级到2.2.0.GA版本即可解决问题。
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>2.2.1.GA</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
<version>2.2.0.GA</version>
</dependency>
2.手动注册RESTEasy
禁用RESTEasy自动服务扫描模式,然后手动注册。 不知道为什么,但是可以。
档案:web.xml
<!-- disabled auto scan mode
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>
-->
<context-param>
<param-name>resteasy.resources</param-name>
<param-value>your REST service</param-value>
</context-param>
翻译自: https://mkyong.com/webservices/jax-rs/resteasy-unable-to-scan-web-inf-for-jax-rs-annotations/