我正在尝试创建一个项目,在该项目中,我将能够通过我的控制器访问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;
}
}
文件树-
答案 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驱动程序来避免这种情况。