IntelliJ IDEA 2018.1.6无法识别导入com.mongodb.MongoClient

时间:2018-11-25 21:26:01

标签: java mongodb spring-mvc intellij-idea

我正在尝试创建一个项目,在该项目中,我将能够通过我的控制器访问mongo db并从用户那里获取表单。

在我的pom文件中,我已声明为mongodb-driver,但是当我尝试导入com.mongodb.MongoClient时,出现错误-无法解析符号mongodb

由于我已经研究了如何在M101J课程中使用它,因此我试图在Spring Boot中使用mongodb java驱动程序。

pom-这是文件-

    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <artifactId>form-java-spring-freemarker</artifactId>
    <name>form-java-spring-freemarker</name>
    <description>form-java-spring-freemarker</description>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
    </parent>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-sync</artifactId>
            <version>3.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

另一个文件-User.java-

    package com.hellokoding.springboot;
import com.mongodb.MongoClient;

public class User {
    private String firstName;
    private String lastName;

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
}

文件树-

file tree

1 个答案:

答案 0 :(得分:1)

正如我在评论中提到的,正如预期的那样,我还拥有issue,这是因为较新版本的mongodb驱动程序3.7+与spring boot starter依赖关系之间存在冲突。并通过添加而不是

解决了
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>

较新的版本,例如:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
</parent>

因此,我强烈建议使用最新版本的驱动程序和spring boot starter依赖项。我敢肯定,它应该可以避免此类错误。

但是您也可以像以前那样使用较旧版本的mongodb java驱动程序来避免这种情况。