Java 导入com.mongodb.MongoClient是';t intellij IDEA 2018.1.6认可
我正在尝试创建一个项目,在该项目中,我将能够通过我的控制器访问mongo db,并从用户那里获取表单 在pom文件中,我已向mongodb驱动程序声明,但当我尝试“导入com.mongodb.MongoClient”时,我收到一个错误-无法解析符号mongodb 我正在尝试将mongodb java驱动程序与spring boot结合使用,因为我已经在M101J课程中学习了如何使用 pom-这是文件-Java 导入com.mongodb.MongoClient是';t intellij IDEA 2018.1.6认可,java,mongodb,spring-mvc,intellij-idea,Java,Mongodb,Spring Mvc,Intellij Idea,我正在尝试创建一个项目,在该项目中,我将能够通过我的控制器访问mongo db,并从用户那里获取表单 在pom文件中,我已向mongodb驱动程序声明,但当我尝试“导入com.mongodb.MongoClient”时,我收到一个错误-无法解析符号mongodb 我正在尝试将mongodb java驱动程序与spring boot结合使用,因为我已经在M101J课程中学习了如何使用 pom-这是文件- <?xml version="1.0" encoding="UTF-8"?>
<?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>
文件树-
正如我在评论中提到的那样,由于较新版本的mongodb driver 3.7+和spring boot starter依赖性之间的冲突,我也有了预期的结果。并通过添加而不是
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
org.springframework.boot
spring启动程序父级
2.0.0.1版本
更新版本,如:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
</parent>
org.springframework.boot
spring启动程序父级
2.1.4.1发布
因此,我强烈建议使用最新版本的驱动程序和spring boot starter依赖项。我相信这会让你避免犯这样的错误
但是,您也可以避免使用旧版本的mongodb java驱动程序,正如您所做的那样。Argh原始组织的遗留问题!显示了我多么费心去看包名。您是否确信您已更新了所有项目依赖项?通常,这类事情通常意味着maven尚未撤销pom中所做的更改。IntelliiJ可能会提示您启用自动更新,但您可能错过了消息。您可以从菜单中启用自动更新。运行
mvn依赖项:resolve
,然后重试。@EugenCovaci。两个都做了,还是不走运。Intellij甚至告诉我“构建成功”好吧!我已经将mongodb驱动程序的版本降级到3.6.4,并且成功了。谢谢你们两位!阿萨夫,实际上,这是一个非常有趣的错误。我有java:无法访问com.mongodb.MongoClientSettings未找到问题的com.mongodb.MongoClientSettings类文件
,因为spring boot starter父项
依赖关系。如果我删除它,那么我就不会对mongo java驱动程序的更新版本发出任何警告。所以我认为这是由于SpringBootStarter库和mongo更新的驱动程序3.7+版本之间的冲突造成的。或者使用旧版本,如3.4/3.6。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
</parent>