Я пользуюсь услугой mongolab
и сделал свою учетную запись там, а также создал один database
. Я успешно интегрировал локальный MongoDB с Android и теперь пытаюсь подключить свое приложение Android к монголабу, и я выполнил предварительные инструкции, представленные в сети. Мой код(MongoLab) MongoException, com.mongodb.connection.ScramSha1Autherticator Error
String textUri = "mongodb://xyz:[email protected]:23288/sample";
MongoClientURI uri = new MongoClientURI(textUri);
MongoClient m = new MongoClient(uri);
DB d=m.getDB("sample");
DBCollection collection = d.getCollection("mycollection");
Но я получаю исключение во время выполнения, что
com.mongodb.MongoException: java.lang.NoClassDefFoundError
я изучал и обнаружил, что NoClassDefFounderror
приходит, когда файл определяет, является нет. Файл
com.mongodb.connection.ScramSha1Autheticaor $ ScramSha1SaslClient
Я проверил mongoDB
сайт и обнаружил, что они модернизированы и новые mongo
потребностей SCRAM-SHA-1 authentication
. Upgrading Link
Мой mongoshell
использует mongoversion 3.2.1
и mongolab версия 3.0.9
. Поскольку SCRAM-SHA-1
началось с 3.0
, так что это не должно быть проблемой. Также 3.0.9
совместим с 3.2.1
. MongoDB Versions Compatibility
Любая идея, как я могу решить эту проблему.
Я думаю, что вам необходимо обновить версию драйвера Java, а не Монго оболочки. Убедитесь, что версия драйвера Java соответствует минимальному требованию, указанному здесь: https://docs.mongodb.org/manual/release-notes/3.0-scram/#upgrade-drivers –