我正在尝试让Dropwizard与MongoDB一起工作。但是,当我运行mvn install时,会发现一个奇怪的maven错误。
Dependency convergence error for org.codehaus.jackson:jackson-mapper-asl:1.9.5 paths to dependency are:
+-no.asgari:civilization:1.0-SNAPSHOT
+-net.vz.mongodb.jackson:mongo-jackson-mapper:1.4.2
+-org.codehaus.jackson:jackson-mapper-asl:1.9.5
and
+-no.asgari:civilization:1.0-SNAPSHOT
+-net.vz.mongodb.jackson:mongo-jackson-mapper:1.4.2
+-de.undercouch:bson4jackson:1.3.0
+-org.codehaus.jackson:jackson-mapper-asl:1.7.4我的pom是这样的:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<dropwizard.version>0.7.1</dropwizard.version>
</properties>
<repositories>
<repository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>http://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-core</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-views-freemarker</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-assets</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<!-- !dropwizard -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.11-beta1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.11-beta1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-examples</artifactId>
<version>3.11-beta1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>17.0</version>
</dependency>
<dependency>
<groupId>net.vz.mongodb.jackson</groupId>
<artifactId>mongo-jackson-mapper</artifactId>
<version>1.4.2</version>
</dependency这只是我生活的一部分。除了测试,没有其他的依赖关系。
发布于 2014-09-10 13:32:26
如果您没有使用Spring或其他一些提供与MongoDB无缝集成的第三方库,您可以使用MongoJack作为杰克逊映射器。
步骤1- maven依赖项:
<dependency>
<groupId>org.mongojack</groupId>
<artifactId>mongojack</artifactId>
<version>2.1.0</version>
<type>bundle</type>
</dependency>步骤2-储存库:
<repositories>
<repository>
<id>oss-sonatype</id>
<name>oss-sonatype</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>步骤3-映射POJO:
public class MyObject {
private String id;
@ObjectId
@JsonProperty("_id")
public String getId() {
return id;
}
@ObjectId
@JsonProperty("_id")
public void setId(String id) {
this.id = id;
}
}步骤4-插入:
JacksonDBCollection<MyObject, String> coll = JacksonDBCollection.wrap(dbCollection, MyObject.class,
String.class);
MyObject myObject = ...
WriteResult<MyObject, String> result = coll.insert(myObject);
String id = result.getSavedId();
MyObject savedObject = result.getSavedObject();步骤5-查询:
MyObject foundObject = coll.findOneById(id);以上的其他示例和详细说明可在MongoJack官方网站上找到。
另外,如果Spring是您的选择,请看一下Spring-Data-MongoDB项目
编辑:,在阅读了一些之后,我发现您正在使用的映射器实际上是MongoJack的旧版本。因此,升级您的代码以使用它的更新版本肯定会使您的项目受益。
https://stackoverflow.com/questions/25746697
复制相似问题