2015-06-11 1 views
5

Ich arbeite an Maven-EJB und wollen ein Java-Objekt zu JSON konvertieren, ich benutze Jackson rüttelt lib, aber ich habe:Jackson Fehler: java.lang.NoClassDefFoundError: com/fasterxml/Jackson/core/Versionierte

java.lang.ClassNotFoundException: com.fasterxml.jackson.core.Versioned

ich habe diese Abhängigkeiten in pom.xml-Datei:

<dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>2.4.0</version> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-core</artifactId> 
     <version>2.4.0</version> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-annotations</artifactId> 
     <version>2.4.0</version> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.jaxrs</groupId> 
     <artifactId>jackson-jaxrs-json-provider</artifactId> 
     <version>2.4.0</version> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.module</groupId> 
     <artifactId>jackson-module-jaxb-annotations</artifactId> 
     <version>2.4.0</version> 
    </dependency>   
</dependencies> 

in Java Fassade schreibe ich diese Zeilen zu konvertieren:

String json = "";

try { 
     ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); 
     json = ow.writeValueAsString(userlist); 
    } catch (JsonProcessingException e) { 
     throw new BusinessException("error_json"); 
    } 

und hier sind die Importe:

import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter;

ich den Classpath geprüft und viel sauber machen und bauen, aber keine Möglichkeit, ,,, die gleiche Ausnahme erscheinen !!

Ich arbeite an NetBeans8 und Java 1.7

Vielen Dank im Voraus Mariam

+0

vielleicht sind Ihre Importe in Konflikt mit einer anderen Version in Ihrem Anwendungsserver verpackt? – couettos

+0

Wie kann ich das überprüfen? !! Es ist eine einfache Anwendung! –

+0

Egal, wie einfach Ihre App ist, wenn Sie EJBs verwenden, benötigen Sie einen Anwendungsserver wie JBoss oder Websphere. Überprüfen Sie, welche Version Sie verwenden und welche Bibliotheken/Version bereitgestellt werden. Um dies zu tun, können Sie das Serververzeichnis durchsuchen oder die Dokumentation überprüfen. – couettos

Antwort

-1

Dank Couettos, es funktioniert, ich die Versionen von Anwendungsserver überprüft und die Maven Gläser dann habe ich heruntergeladen die neueste 2.4.0 jackson jars und upgrade die Glassfish lib jars mit der Version 2.4.0