无需Gradle、Maven或IDE,如何用Java连接MongoDB并解决主类找不到问题
问题解决说明
完全不需要IDE或者Gradle/Maven这类构建工具也能正常调用MongoDB,你遇到的问题是代码配置和命令参数不匹配导致的,和工具链无关。
你当前遇到的核心错误点
- 公开类名和文件名不匹配:Java要求public修饰的类必须和文件名完全一致,你代码里的公开类名为
JavaMongoDemo,但文件命名为helloMongo.java,不符合语法规则。 - 包声明对应目录结构缺失:代码第一行声明了
package com.javatpoint.java.mongo.db;,Java要求带包声明的类必须存放在和包名完全匹配的层级目录中,你直接把文件放在根目录会导致类加载失败。 - 依赖文件名不匹配:你下载的驱动包完整名称为
mongo-java-driver-3.12.8.jar,但命令中写的是mongo-java-driver.jar,文件名对应不上导致类路径找不到依赖。 - 类路径分隔符适配问题:Windows系统类路径用分号
;做分隔,Linux/macOS系统用冒号:做分隔,需要对应你的操作系统调整。
正确操作步骤
前置准备
- 将原
helloMongo.java重命名为JavaMongoDemo.java - 新建层级目录
com/javatpoint/java/mongo/db,把重命名后的JavaMongoDemo.java移动到该目录下 - 确认当前工作目录下存在完整名称为
mongo-java-driver-3.12.8.jar的驱动包
Windows系统编译运行命令
编译命令:
javac -cp ".;mongo-java-driver-3.12.8.jar" com/javatpoint/java/mongo/db/JavaMongoDemo.java
运行命令:
java -cp ".;mongo-java-driver-3.12.8.jar" com.javatpoint.java.mongo.db.JavaMongoDemo
Linux/macOS系统编译运行命令
编译命令:
javac -cp ".:mongo-java-driver-3.12.8.jar" com/javatpoint/java/mongo/db/JavaMongoDemo.java
运行命令:
java -cp ".:mongo-java-driver-3.12.8.jar" com.javatpoint.java.mongo.db.JavaMongoDemo
简化方案(无需处理包目录)
如果你不想维护包对应的目录结构,可以直接删掉代码第一行的package com.javatpoint.java.mongo.db;声明,将JavaMongoDemo.java直接放在当前工作目录,按如下命令执行即可(以Windows为例,Linux/macOS将分号替换为冒号):
编译命令:
javac -cp ".;mongo-java-driver-3.12.8.jar" JavaMongoDemo.java
运行命令:
java -cp ".;mongo-java-driver-3.12.8.jar" JavaMongoDemo
额外注意
运行前请确认本地MongoDB服务已经在27017端口正常启动,否则会抛出连接异常。
内容的提问来源于stack exchange,提问作者RNPF
相关产品推荐
相关产品推荐

