java.lang.NoClassDefFoundError при использовании драйвера MongoDB в intellij - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь подключиться к базе данных MongoDB через jdbc в intellij, получая ошибку как

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 голосов
/ 17 декабря 2018

У вас есть две разные версии зависимостей Монго.

Одним из них является ссылка на что-то в совместимой версии другого, которая не существует.

Это

"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"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...