在IntelliJ中使用MongoDB驱动程序时出现java.lang.NoClassDefFoundError

时间:2018-12-17 05:54:36

标签: java mongodb intellij-idea

我正在尝试通过intellij中的jdbc连接到MongoDB数据库,得到的错误为

java.lang.ClassNotFoundException: com.mongodb.jdbc.MongoDriver

我已经添加了依赖项:

"org.mongodb" % "mongo-java-driver" % "3.9.1",
"org.mongodb" % "mongodb-driver-sync" % "3.8.2"

代码如下:

public class PlainQueryRepository {
    Connection connection = null;
    public void createConnection() throws SQLException {
        try {
            Class.forName("com.mongodb.jdbc.MongoDriver");
            connection = DriverManager.getConnection("mongo://127.0.0.1:27017/hybrid-flow");
        } catch (ClassNotFoundException e) {
            System.out.println("ERROR: Unable to load SQLServer JDBC Driver");
            e.printStackTrace();
            return;
        } finally {
            if (connection != null) connection.close();
        }
    }

    public static void main(String[] args) throws SQLException {
        PlainQueryRepository obj = new PlainQueryRepository();
        obj.createConnection();
    }

}

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您有两种不同版本的mongo依赖项。

其中之一是引用另一个不存在的兼容版本中的某些内容。

"org.mongodb" % "mongo-java-driver" % "3.9.1" "org.mongodb" % "mongodb-driver-sync" % "3.8.2"

需要是这个 "org.mongodb" % "mongo-java-driver" % "3.9.1" "org.mongodb" % "mongodb-driver-sync" % "3.9.1"

或此

"org.mongodb" % "mongo-java-driver" % "3.8.2" "org.mongodb" % "mongodb-driver-sync" % "3.8.2"