IntelliJ中使用Maven解析依赖时遇到的问题
我一直在尝试从 MongoDB官网 获取他们Java驱动的演示代码以编译,昨晚我终于编译成功了;然而今天下班后打开我的IDE,想要开始我整周都在努力启动的实际项目时,我现在遇到了同样的问题——找不到的包。昨晚为了让程序编译而做的改动仍然存在,但错误又回来了。我感到迷茫,准备再次放弃,请帮忙。
import static com.mongodb.client.model.Filters.eq;
import org.bson.Document;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
public class QuickStart {
public static void main( String[] args ) {
// Replace the placeholder with your MongoDB deployment's connection string
String uri = "mongodb+srv://Cluster91234:[email protected]/?appName=Cluster91234";
try (MongoClient mongoClient = MongoClients.create(uri)) {
MongoDatabase database = mongoClient.getDatabase("sample_mflix");
MongoCollection<Document> collection = database.getCollection("movies");
Document doc = collection.find(eq("title", "Back to the Future")).first();
if (doc != null) {
System.out.println(doc.toJson());
} else {
System.out.println("No matching documents found.");
}
}
}
}
<?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>
<groupId>com.daniel</groupId>
<artifactId>StatementViewer</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>25</maven.compiler.source>
<maven.compiler.target>25</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-bom</artifactId>
<version>5.6.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
</dependency>
</dependencies>
</dependencyManagement>
</project>
以及错误信息
PS D:\Programming\StatementViewer> mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< com.daniel:StatementViewer >---------------------
[INFO] Building StatementViewer 1.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ StatementViewer ---
[INFO] Copying 1 resource from src\main\resources to target\classes
[INFO]
[INFO] --- compiler:3.13.0:compile (default-compile) @ StatementViewer ---
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 2 source files with javac [debug target 25] to target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[1,39] package com.mongodb.client.model does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[1,1] static import only from classes and interfaces
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[2,16] package org.bson does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[3,26] package com.mongodb.client does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[4,26] package com.mongodb.client does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[5,26] package com.mongodb.client does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[6,26] package com.mongodb.client does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[11,14] cannot find symbol
symbol: class MongoClient
location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[11,40] cannot find symbol
symbol: variable MongoClients
location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[12,13] cannot find symbol
symbol: class MongoDatabase
location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[13,13] cannot find symbol
symbol: class MongoCollection
location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[13,29] cannot find symbol
symbol: class Document
location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[14,13] cannot find symbol
symbol: class Document
location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[14,44] cannot find symbol
symbol: method eq(java.lang.String,java.lang.String)
location: class QuickStart
[INFO] 14 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.850 s
[INFO] Finished at: 2026-03-20T18:04:33-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (default-compile) on project StatementViewer: Compilation failure: Compilation failure:
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[1,39] package com.mongodb.client.model does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[1,1] static import only from classes and interfaces
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[2,16] package org.bson does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[3,26] package com.mongodb.client does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[4,26] package com.mongodb.client does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[5,26] package com.mongodb.client does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[6,26] package com.mongodb.client does not exist
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[11,14] cannot find symbol
[ERROR] symbol: class MongoClient
[ERROR] location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[11,40] cannot find symbol
[ERROR] symbol: variable MongoClients
[ERROR] location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[12,13] cannot find symbol
[ERROR] symbol: class MongoDatabase
[ERROR] location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[13,13] cannot find symbol
[ERROR] symbol: class MongoCollection
[ERROR] location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[13,29] cannot find symbol
[ERROR] symbol: class Document
[ERROR] location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[14,13] cannot find symbol
[ERROR] symbol: class Document
[ERROR] location: class QuickStart
[ERROR] /D:/Programming/StatementViewer/src/main/java/QuickStart.java:[14,44] cannot find symbol
[ERROR] symbol: method eq(java.lang.String,java.lang.String)
[ERROR] location: class QuickStart
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
我相信我昨天遇到的问题是pom.xml中版本的问题。
我确实尝试了其他方法,但看到错误又出现,我顿时沮丧,真的记不清我到底试过什么。 :)
我再次检查了版本,仍然正确(据我所知,我确实查看了仓库,确保没有在一夜之间发布的新版本,恰好以某种方式破坏了我的项目)。
解决方案
正如life888888所示,我的问题是格式问题。我把两个依赖都嵌套在同一个 <dependencyManagement> 块内。
通过将它们分离到
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-bom</artifactId>
<version>5.6.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
</dependency>
</dependencies>
我就解决了这个问题。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。