首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有Mongodb的Dropwizard的Maven错误

使用带有Mongodb的Dropwizard的Maven错误
EN

Stack Overflow用户
提问于 2014-09-09 14:05:31
回答 1查看 793关注 0票数 0

我正在尝试让Dropwizard与MongoDB一起工作。但是,当我运行mvn install时,会发现一个奇怪的maven错误。

代码语言:javascript
复制
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是这样的:

代码语言:javascript
复制
<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

这只是我生活的一部分。除了测试,没有其他的依赖关系。

EN

回答 1

Stack Overflow用户

发布于 2014-09-10 13:32:26

如果您没有使用Spring或其他一些提供与MongoDB无缝集成的第三方库,您可以使用MongoJack作为杰克逊映射器。

步骤1- maven依赖项:

代码语言:javascript
复制
<dependency>
  <groupId>org.mongojack</groupId>
  <artifactId>mongojack</artifactId>
  <version>2.1.0</version>
  <type>bundle</type>
</dependency>

步骤2-储存库:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
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-插入:

代码语言:javascript
复制
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-查询:

代码语言:javascript
复制
MyObject foundObject = coll.findOneById(id);

以上的其他示例和详细说明可在MongoJack官方网站上找到。

另外,如果Spring是您的选择,请看一下Spring-Data-MongoDB项目

编辑:,在阅读了一些之后,我发现您正在使用的映射器实际上是MongoJack的旧版本。因此,升级您的代码以使用它的更新版本肯定会使您的项目受益。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25746697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档