【问题标题】:A required class was missing while executing org.mule.munit.tools: org/codehaus/jackson/annotate/JsonClass执行 org.mule.munit.tools 时缺少所需的类:org/codehaus/jackson/annotate/JsonClass
【发布时间】:2014-01-15 14:43:55
【问题描述】:

当我运行 mav 测试目标时出现以下错误:

        A required class was missing while executing org.mule.munit.tools:
                munit-maven-plugin:3.4-M4-SNAPSHOT:test: org/codehaus/jackson/annotate/JsonClass
            ...
            [ERROR] Number of foreign imports: 1
            [ERROR] import: Entry[import  from realm ClassRealm[project>com.sfdc.it.ei.esb.service:
    workday-employee-target-adapter:
        1.0.1-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
            [ERROR] 
            [ERROR] -----------------------------------------------------: org.codehaus.jackson.annotate.JsonClass
            [ERROR] -> [Help 1]
...
Caused by: java.lang.NoClassDefFoundError: org/codehaus/jackson/annotate/JsonClass

POM.xml:

 <munit.version>3.4-M4-SNAPSHOT</munit.version> 

    <testResources>
        <testResource>
            <directory>src/test/munit</directory>
        </testResource>
        <testResource>
            <directory>src/test/resources</directory>
        </testResource>     
    </testResources>

    <dependency>
        <groupId>org.mule.tests</groupId>
        <artifactId>mule-tests-functional</artifactId>
        <version>${mule.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
       <groupId>commons-cli</groupId>
       <artifactId>commons-cli</artifactId>
       <version>1.1</version>
    </dependency>
    <dependency>
       <groupId>org.mule.munit</groupId>
       <artifactId>munit-runner</artifactId>
       <version>${munit.version}</version>
       <scope>test</scope>
    </dependency>
    <dependency>
   <groupId>org.codehaus.jackson</groupId>
   <artifactId>jackson-core-asl</artifactId>
   <version>1.9.13</version>
</dependency>
<dependency>
       <groupId>org.codehaus.jackson</groupId>
       <artifactId>jackson-core-lgpl</artifactId>
       <version>1.9.7</version>
       <scope>runtime</scope>
    </dependency>

我需要为 JsonClass 包含任何依赖项吗?

我有两个项目,mule-tests-functional,它包含在这个项目中。如果我分别运行两个项目(即没有这种依赖关系),maven 工作正常。

【问题讨论】:

    标签: maven mule


    【解决方案1】:

    使用 jackson-mapper-asl 的最新版本(在编写 1.9.13 时)为我解决了这个问题:

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.13</version>
    </dependency>
    

    【讨论】:

      【解决方案2】:

      上面写着:

      java.lang.NoClassDefFoundError: org/codehaus/jackson/annotate/JsonClass

      直到版本 1.7.0,这个类才在 jackson-core-asl 工件中。它在以后的版本中被删除:

      见: http://mavenhub.com/c/org/codehaus/jackson/annotate/JsonClass/dependency

      【讨论】:

        猜你喜欢
        • 2015-05-02
        • 1970-01-01
        • 2013-09-29
        • 1970-01-01
        • 1970-01-01
        • 2014-08-20
        • 2021-07-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多