杰克逊错误:java.lang.NoClassDefFoundError:com/fasterxml/jackson/core/Versioned

مري*_*ياة 5 java json ejb jackson

我正在使用Maven-EJB并希望将java对象转换为JSON,我使用Jackson jars lib但是我得到了:

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

我在pom.xml文件中添加了这些依赖项:

    <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>
Run Code Online (Sandbox Code Playgroud)

在Java Facade我写这行来转换:

String json ="";

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

这是进口:

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

我检查了类路径,并做了很多干净和构建,但没办法,,,同样的异常出现!!

我正在研究NetBeans8和Java 1.7

在此先感谢玛丽亚姆

مري*_*ياة 0

谢谢 Couettos,它有效,我检查了应用程序服务器和 Maven jar 的版本,然后下载了最新的 2.4.0 jackson jar 并使用 2.4.0 版本升级 glassfish lib jar