Jackson错误:java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/Versioned

5

我正在处理Maven-EJB并希望将Java对象转换为JSON,我使用Jackson Jars库,但出现了以下错误:

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>
在Java中的外观模式中,我编写以下代码行以进行转换:

String json = "";

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

这里是导入的内容:

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

我检查了类路径并进行了大量清理和构建,但无济于事,相同的异常仍然出现!

我正在使用 NetBeans8 和 Java 1.7 进行工作。

提前感谢。 Mariam


我该如何检查这个?这是一个简单的应用程序! - Mariam A. Moustafa
我正在使用GlassFish 3.0。 - Mariam A. Moustafa
同时,Jackson Jars的版本为2.4.0。 - Mariam A. Moustafa
我对Glassfish 3.0的模块化不是很了解。但显然,它随附了jackson-asl 1.1.1。尝试从2.4.0切换到1.1.1。将范围切换为<scope>provided</scope>。 - couettos
此外,为了序列化一个对象,您不需要所有这些依赖项。我认为您只需要 'org.codehaus.jackson:jackson-mapper-asl:1.1.1'。 - couettos
显示剩余3条评论
1个回答

0

谢谢Couettos,它起作用了,我检查了应用服务器和Maven Jars的版本,然后下载了最新的2.4.0 Jackson Jars,并将Glassfish Lib Jars升级到了2.4.0版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接