je reçois le message d'erreur lorsque j'essaie de télécharger un fichier basé exactement sur l'exemple présenté ici Sample
L'erreur est
Exception d'allocation pour le servlet com.testapp.rest.JaxRsActivator: Java.lang.RuntimeException: impossible de trouver un constructeur public pour la classe org.jboss.resteasy.core.AsynchronousDispatcher
Qu'est-ce que cela peut signifier?
Si vous effectuez un déploiement sur JBoss 7.x, vous devez modifier l'étendue de vos dépendances Resteasy en provided
. En effet, ces bibliothèques particulières sont déjà incluses dans JBoss en tant que 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>
J'utilisais wildfly 10 pour déployer mon application lorsque j'ai eu cette erreur et que j'ai essayé les solutions ci-dessus et que cela n'a pas fonctionné pour moi. Enfin, j'ai dû exclure le bocal resteasy-jaxrs
à l'aide d'exclusions 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>
Il est peut-être utile de mentionner que la documentation RESTeasy contient des informations sur la mise à niveau du logiciel RESTeasy inclus dans JBoss, ce qui, comme mentionné ci-dessus, peut causer des problèmes de tête si vous essayez d’utiliser une autre version.
Comme un charme
Une dernière chose, assurez-vous de vérifier pour 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