杰克逊依赖 maven 并在 JBoss EAP 6.3/6.4 中开发日食



我正在使用 eclipse 并使用 resteasy 开发一些服务,杰克逊作为 json 提供者:

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>2.3.10.Final</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson-provider</artifactId>
        <version>2.3.10.Final</version>
        <scope>provided</scope>
    </dependency>

这些库实际上是通过 JBoss EAP 6.1+ runtime 提供给构建路径的。但是我必须通过自定义ObjectMapper设置一些杰克逊特定的选项。为此,我添加了对杰克逊的另一个依赖:

    <dependency>
        <artifactId>jackson-mapper-asl</artifactId>
        <groupId>org.codehaus.jackson</groupId>
        <version>1.9.9</version>
        <scope>provided</scope>
    </dependency>

现在这破坏了我的 eclipse 构建,因为服务器运行时只包含 ee 库。当然,我可以更改范围,但这会导致工件包含在最终战争中,即使它已经打包为 jboss 模块。

将 JBoss 工具更新到 4.3 并添加src/main/webapp/WEB-INF/jboss-deployment-structure.xml就可以了:

<jboss-deployment-structure>
   <deployment>
      <dependencies>
         <module name="org.jboss.resteasy.resteasy-jackson-provider" export="true" />
         <module name="org.codehaus.jackson.jackson-core-asl" export="true" />
         <module name="org.codehaus.jackson.jackson-mapper-asl" export="true" />        
      </dependencies>
   </deployment>
</jboss-deployment-structure>

相关内容

最新更新