java - intellij IDEA 2018.1.6 无法识别 import com.mongodb.MongoClient

标签 java mongodb spring-mvc intellij-idea

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

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

我正在尝试在 Spring Boot 中使用 mongodb java 驱动程序,因为我已经在 M101J 类(class)中学习了如何使用。

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

最佳答案

正如预期的那样,我还有 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 驱动程序来避免它,就像您所做的那样。

关于java - intellij IDEA 2018.1.6 无法识别 import com.mongodb.MongoClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53472156/

相关文章:

java - Spring框架,我需要一个变量来依赖于 session

java - 区分笔记FFT算法

Java MethodHandle api 似乎产生了不正确的类型

java - JTextField 焦点

c# 打开cmd并继续-nodeJS仪表板更新

java - 当 RequestMapping 中的最后一个 PathVariable 只有

java - 使用Java时小数位数太多?

java - JSON - Java Eclipse java.lang.ClassCastException : Integer cannot be cast to java. lang.Double

node.js - Mongoose OR 模式验证

jsp - 使用Spring MVC读取jsp中的属性文件