问题
i am getting the error when i try to upload a file based exactly off the example shown here Sample
The error is
Allocate exception for servlet com.testapp.rest.JaxRsActivator: java.lang.RuntimeException: Unable to find a public constructor for class org.jboss.resteasy.core.AsynchronousDispatcher
What can this mean?
回答1:
If deploying to JBoss 7.x you need to change the scope of your resteasy dependencies to provided
. This is because those particular libraries are already included in JBoss as modules:
<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>
回答2:
I was using wildfly 10 to deploy my application when I got this error and tried the above solutions and didn't work for me and finally I had to exclude the jar resteasy-jaxrs
using maven exclusions
<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>
回答3:
Like a charm
One more thing, make sure you check for resteasy
$ 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
回答4:
Maybe it's worth to mention that the RESTeasy documentation has information on how to upgrade the RESTeasy included in JBoss, which as mentioned above can cause some headache if you try to use another version.
来源:https://stackoverflow.com/questions/15603662/asynchronousdispatcher-error