Android / MongoDB:“NoClassDefFoundError:com.mongodb.DBPortPool”

时间:2011-01-17 15:35:26

标签: java android mongodb

我想连接到我的MongoDB(托管在MongoHQ上)。当我想连接数据库(使用Java驱动程序)时,我收到以下错误

ERROR/AndroidRuntime(597): java.lang.NoClassDefFoundError: com.mongodb.DBPortPool
ERROR/AndroidRuntime(597):     at com.mongodb.DBPortPool$Holder.get(DBPortPool.java:52)
ERROR/AndroidRuntime(597):     at com.mongodb.DBTCPConnector._set(DBTCPConnector.java:380)
ERROR/AndroidRuntime(597):     at com.mongodb.DBTCPConnector.<init>(DBTCPConnector.java:46)
ERROR/AndroidRuntime(597):     at com.mongodb.Mongo.<init>(Mongo.java:138)
ERROR/AndroidRuntime(597):     at com.mongodb.Mongo.<init>(Mongo.java:124)
ERROR/AndroidRuntime(597):     at com.mongodb.Mongo.<init>(Mongo.java:114)
ERROR/AndroidRuntime(597):     at xxx.MainActivity$1.onClick(MainActivity.java:29)

我使用以下代码:

Mongo mng = new Mongo("flame.mongohq.com", 27073); // <- error
DB mngDb = mng.getDB("xxx");
mngDb.authenticate("xxx", "xxx".toCharArray());
DBCollection mngColl = mngDb.getCollection("xxx");
// mText.setText("Data Count: "+Long.toString(mngColl.getCount()));

我通过Properties&gt; Java Build Path&gt; Libraries&gt; Add Externel JAR

在Eclipse中添加了驱动程序

2 个答案:

答案 0 :(得分:1)

此驱动程序不支持android ...

答案 1 :(得分:1)

DBPortPool依赖于JMX,但Android上不支持JMX。

出于兴趣,你的用例是什么?因为您希望避免在没有安全基础结构的情况下从手机传递数据库用户名/密码。