2013-03-24 5 views
10

sto ottenendo l'errore quando provo a caricare un file in base esattamente fuori Nell'esempio mostrato SampleAsynchronousDispatcher errore

L'errore è

Assegnare eccezione per servlet com.testapp.rest.JaxRsActivator : java.lang.RuntimeException: Impossibile trovare un costruttore pubblico per la classe org.jboss.resteasy.core.AsynchronousDispatcher

Cosa può significare questo?

risposta

50

Se la distribuzione di JBoss 7.x è necessario modificare l'ambito delle dipendenze RESTEasy a provided. Questo perché tali librerie particolari sono già inclusi in JBoss come moduli:

<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> 
+0

Grazie mille, ha funzionato perfettamente! – user1438082

+0

Appena fatto lì - Grazie! – user1438082

+1

Per chi viene qui, assicurarsi anche di controllare quali versioni delle librerie sono già/effettivamente schierate JBOSS - ad esempio, il POM potrebbe essere rivolto a 2.2.0.GA, ma il server ha 3.0.10.Final (come nel mio caso), e questo mi ha causato così tanto mal di testa! – nemesisfixx

1

come un fascino più

Una cosa, assicuratevi di controllare per 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 
1

Forse vale la pena di menzionare che la documentazione RESTEasy ha information su come aggiornare il RESTEasy incluso in JBoss, che come detto sopra può causare qualche mal di testa, se si tenta di utilizzare un'altra versione.

0

usavo wildfly 10 per distribuire la mia domanda, quando ho ottenuto questo errore e ha cercato le soluzioni di cui sopra e non ha funzionato per me e alla fine ho dovuto escludere le jar RESTEasy-jaxrs utilizzando le esclusioni 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>