2012-07-24 39 views
4

在可用here的代碼示例,一個進口JSON JAXB編組如下:哪些傑克遜maven依賴包含在Spring 3.1項目中用於JAXB JSON編組?

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

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-oxm</artifactId> 
    <version>3.1.0.RELEASE</version> 
</dependency> 

然而,this博客文章,指this博客文章,提出:

<!-- Jackson --> 
<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-core-lgpl</artifactId> 
    <version>1.3.0</version> 
</dependency> 
<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-mapper-lgpl</artifactId> 
    <version>1.3.0</version> 
</dependency> 
<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-xc</artifactId> 
    <version>1.3.0</version> 
</dependency> 

其中「 jackson-xc提供額外的Jaxb支持'。

當涉及到Spring中的JAXB JSON marhsalling時,兩套Maven依賴關係有什麼區別?哪一個應該最好使用?

回答

5

我可以看到的主要區別是許可證。

第一個選項使用jackson-mapper-asl,它使用apache許可證,而第二個選項使用lgpl許可證。所以這確實是一個合法的問題。

參見here

1

在您的pom.xml文件中使用此依賴項。

<dependency> 
     <groupId>org.codehaus.jackson</groupId> 
     <artifactId>jackson-mapper-asl</artifactId> 
     <version>1.7.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>2.5.0</version> 
    </dependency>