ここに示されている例に正確に基づいてファイルをアップロードしようとすると、エラーが発生します Sample
エラーは
サーブレットcom.testapp.rest.JaxRsActivatorの例外を割り当てます:Java.lang.RuntimeException:クラスorg.jboss.resteasy.core.AsynchronousDispatcherのパブリックコンストラクターが見つかりません
これはどういう意味ですか?
JBoss 7.xにデプロイする場合は、resteasy依存関係のスコープをprovided
に変更する必要があります。これは、これらの特定のライブラリがすでにモジュールとしてJBossに含まれているためです。
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>2.2.1.GA</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
<version>2.2.0.GA</version>
<scope>provided</scope>
</dependency>
このエラーが発生し、上記の解決策を試したところ、-wildfly 1を使用してアプリケーションをデプロイしていましたが、うまくいきませんでした。最後に、jarを除外する必要がありましたresteasy-jaxrs
Maven除外の使用
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-servlet-initializer</artifactId>
<version>3.0.19.Final</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>resteasy-jaxrs</artifactId>
<groupId>org.jboss.resteasy</groupId>
</exclusion>
</exclusions>
</dependency>
RESTeasyのドキュメントには、JBossに含まれるRESTeasyをアップグレードする方法について 情報 が記載されているため、上記のように別のバージョンを使用しようとすると頭痛の種になる可能性があります。
魔法のように
もう1つ、休憩を確認してください
$ mvn dependency:tree | grep "resteasy"
[INFO] \- org.jboss.resteasy:resteasy-jaxrs:jar:3.0.10.Final:provided
[INFO] +- org.jboss.resteasy:jaxrs-api:jar:3.0.10.Final:provided