IntelliJ中使用Maven解析依赖时遇到的问题

后端开发 2026-07-11

我一直在尝试从 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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章