2016-02-04 4 views
0

Я пользуюсь услугой 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

Любая идея, как я могу решить эту проблему.

+0

Я думаю, что вам необходимо обновить версию драйвера Java, а не Монго оболочки. Убедитесь, что версия драйвера Java соответствует минимальному требованию, указанному здесь: https://docs.mongodb.org/manual/release-notes/3.0-scram/#upgrade-drivers –

ответ

0

Любой, кто имеет дело с одной и той же проблемой, вот ответ. Используйте эти драйверы для Android. Важно: никакой асинхронный драйвер не переносится, потому что java.nio.channels.AsynchronousSocketChannel не существует на Android и не существует никакого портирования.

New Android Drivers

Смежные вопросы