RESTEasy JAX-RSアノテーションのWEB-INFをスキャンできませんか?

質問

アプリケーションの起動中に異常なエラーメッセージが表示された後、resteasy multipart依存関係が追加された後、ファイルアップロード機能を使用してRESTサービスを開発しますか?

P.S resteasy-jaxrs resteasy-multipart version 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...

解決策

その根本原因は何か、2つの解決策:

1.ダウングレード版

resteasy-multipart-provider 」をバージョン2.2.0.Gにダウングレードすると、問題が解決されます。

        <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オートサービススキャンモードを無効にし、手動で登録してください。

理由は分かりませんが、動作します。

File: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>