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?
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>
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>
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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With