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

Minecraft Java插件对接MongoDB出现MongoClients类找不到错误求助

问题根因

你的报错本质是运行时MongoDB驱动类没有被正确打包到插件jar中,同时代码和依赖配置也存在多处错误:

  1. 依赖配置错误:你引入的org.mongodb:mongo-java-driver3.12.10版本属于旧版legacy驱动,MongoClients类属于新版同步驱动组件,依赖不匹配
  2. 打包插件冲突:同时配置了maven-shade-plugin和maven-assembly-plugin,导致依赖没有被正确打入最终jar包
  3. 代码语法错误:存在类型强转错误、静态变量引用错误两个明显的编译问题

修复步骤

1. 修正MongoDB依赖

删除你现有添加的org.mongodb:mongo-java-driver依赖,替换为官方新版同步驱动:

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongodb-driver-sync</artifactId>
    <version>4.6.1</version>
    <scope>compile</scope>
</dependency>

2. 修正打包配置

删除maven-assembly-plugin的全部配置,仅保留maven-shade-plugin,同时添加依赖重定位避免和服务器其他插件的同依赖冲突:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.2.4</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <createDependencyReducedPom>false</createDependencyReducedPom>
                <relocations>
                    <relocation>
                        <pattern>com.mongodb</pattern>
                        <shadedPattern>me.codexisphantom.mongodb</shadedPattern>
                    </relocation>
                    <relocation>
                        <pattern>org.bson</pattern>
                        <shadedPattern>me.codexisphantom.bson</shadedPattern>
                    </relocation>
                </relocations>
            </configuration>
        </execution>
    </executions>
</plugin>

3. 修正主类代码错误

  • 删除旧版导入import com.mongodb.MongoClient;,替换为import com.mongodb.client.MongoClient;
  • 数据库连接代码删除强制类型转换,修改为:
// 数据库连接
MongoClient mongoClient = MongoClients.create("mongodb+srv://myusername:@databasemc.ehssc.mongodb.net/VelocityMC?retryWrites=true&w=majority");
  • 修正setInstance方法的变量名错误:
private static void setInstance(VelocityLobbyGeneral instance){
    VelocityLobbyGeneral.instance = instance;
}

4. 正确打包部署

执行mvn clean package命令进行打包,取target目录下大小为几MB的VelocityLobby-1.0.jar上传到服务器插件目录,不要使用几十KB的原始未打包依赖的jar。

额外检查项

确认MongoDB Atlas控制台已添加你的服务器公网IP到白名单,连接串中的用户名、密码、数据库名称配置正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:36:03