You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于PetClinic的项目Maven Install报Mongo配置类未找到错误求助

Fixing "Mongo Http Configuration Class not found" Error in PetClinic-based Project with HANA DB

Hey there! Let's work through this issue together—since you're new to Maven and Spring, I'll break this down into simple, actionable steps. The error you're seeing happens because some dependency in your project is indirectly pulling in MongoDB-related code, even though you're not using MongoDB. Here's how to fix it:

Step 1: Identify Where MongoDB is Being Pulled In

First, we need to find which dependency is bringing in MongoDB. Run this Maven command in your project root to generate a dependency tree:

mvn dependency:tree

Search the output for keywords like mongo or mongodb. You'll see a line that shows which parent dependency is introducing the MongoDB-related jars (for example, it might be a Spring Session starter or another Spring Boot starter).

Step 2: Exclude MongoDB Dependencies from Your POM.xml

Once you've found the culprit dependency, add an <exclusions> block to it in your pom.xml to remove the MongoDB-related parts. For example, if spring-boot-starter-session is the one bringing in MongoDB:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-session</artifactId>
    <!-- Exclude the unwanted MongoDB session dependency -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-mongodb</artifactId>
        </exclusion>
    </exclusions>
</dependency>

If another dependency is causing it, replace the groupId and artifactId in the exclusion with the ones you found in the dependency tree.

Step 3: Adjust Your Test Configuration (ProductionConfigurationTests)

Your test class might be triggering Spring's auto-configuration for MongoDB without you realizing it. Update your test class to exclude MongoDB auto-config classes:

import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
import org.springframework.boot.autoconfigure.mongo.MongoDataAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.junit.jupiter.api.Test;

@SpringBootTest(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
public class ProductionConfigurationTests {
    // Your existing test code here
}

This tells Spring Boot not to load any MongoDB-related configuration when running your tests.

Step 4: Clean and Rebuild Your Project

Sometimes Maven's cached dependencies can cause weird issues. Run this command to clean old builds and force a fresh install:

mvn clean install -U

The -U flag forces Maven to update any snapshot dependencies, ensuring you're using the latest versions of your required jars.

Bonus Tip for Beginners

Maven's dependency tree is your best friend when dealing with unexpected dependencies! It shows exactly which libraries are being pulled in by each of your direct dependencies, so you can spot and remove unwanted ones easily.

内容的提问来源于stack exchange,提问作者MKN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:26:50