2014-05-18 12 views
8

Stiamo usando la versione di dropwizard 0.6.3. Quando proviamo ad aggiornare la versione 0.7.0, stiamo ricevendo questo errore all'avvio del servizio. .Errore nel codice libreria di jackson

Exception in thread "main" java.lang.VerifyError: classe com.fasterxml.jackson.module.afterburner.deser.SuperSonicBeanDeserializer override ultimo metodo deserializzare (lcom/fasterxml/Jackson/core/JsonParser; lcom/fasterxml/Jackson/DataBind/DeserializationContext;) Ljava/lang/Object;

Ho cercato, non ho trovato alcuna soluzione. Quando ho esaminato la classe SuperSonicBeanDeserializer, ha un metodo di override. Ma la classe SuperSonicBeanDeserializer è definitiva. Non sono sicuro di come risolvere questo problema. Qualsiasi soluzione/suggerimento, ci aiuterà molto.

+0

Molto probabilmente hai due versioni della libreria di Jackson nel tuo percorso di classe. Come costruisci la tua applicazione? –

+0

Grazie. Come parte di un mudule delle dipendenze, è inclusa anche la versione di Jackson. – Manikandan

+0

Puoi liberarti della versione di Jackson diversa? Altrimenti ciò potrebbe causare tutti i tipi di problemi. Ti consiglio di attenersi all'ultima versione di Jackson che viene fornita con Dropwizard. –

risposta

10

Uno sguardo alla albero esperto di dipendenze dovrebbe aiutare a trovare dove il problema è:

mvn dependency:tree -Dverbose

cercare "omesso di conflitto" all'interno dei risultati. Probabilmente hai una versione di jackson-databind precedente alla 2.3.0 che sta sovrascrivendo la versione in Dropwizard 0.7.

+0

Questo mi ha risolto il problema ed è stato in grado di risolverlo in due modi diversi. Uno specifica jackson-databind come dipendenza e imposta la versione su 2.3.x, oppure Due imposta una esclusione sulla dipendenza che stava portando nella vecchia versione di jackson. – bramp

+2

Puoi anche usare: 'mvn dependency: tree -Dverbose -Dincludes =: jackson-databind ::' per ottenere informazioni più precise sui percorsi di questa dipendenza –

Problemi correlati