从JAVA连接MongoDB时出现问题

从JAVA连接MongoDB时出现问题,java,mongodb,Java,Mongodb,我正在使用Medline的文章进行文本挖掘。我已使用MongoDB为所有Medline2011编制了索引(http://www.mongodb.org/),现在我可以用它的PubMedID获得一篇文章。我想加入UIMA(http://uima.apache.org/),我创建了描述符阅读器,从MongoDB(使用MondoDB JAVA驱动程序)获取文章字符串。我有这段代码(一个简单的例子)并且可以工作: public static void main(String[] args) throws

我正在使用Medline的文章进行文本挖掘。我已使用MongoDB为所有Medline2011编制了索引(http://www.mongodb.org/),现在我可以用它的PubMedID获得一篇文章。我想加入UIMA(http://uima.apache.org/),我创建了描述符阅读器,从MongoDB(使用MondoDB JAVA驱动程序)获取文章字符串。我有这段代码(一个简单的例子)并且可以工作:

public static void main(String[] args) throws UnknownHostException, MongoException {
    Mongo m = new Mongo("localhost", 27017);
    DB db = m.getDB(DB_NAME);
    DBCollection coll = db.getCollection(COLLECTION_NAME);

    BasicDBObject query = new BasicDBObject();      
    String pmid = "6889938";       
    query.put("_id", pmid);

    DBObject myDoc = coll.findOne(query);

    System.out.println(myDoc);  
}
但是,当我尝试使用UIMA在项目中编写相同的代码时,我遇到了下一个错误:

当我使用:

    private String getAbstractXMLFromMongoDB(String pmid) throws UnknownHostException, MongoException{      
        Mongo m = new Mongo(); // <-----ERROR
        ...
        return "something"
如果我使用try/catch:

    private String getAbstractXMLFromMongoDB(String pmid){      
    try {
        Mongo m = new Mongo(); // <-----ERROR
        ...
    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (MongoException e) {
        e.printStackTrace();
    }
    return "something"
我曾经尝试过(在示例代码中)一次使用100个线程访问MongoDB,效果很好。。。我不知道也不理解正在发生的事情

有什么建议吗


thx.

为类路径提供mongo libs,错误应该消失

如果您删除
MongoException
(您的类路径不知道这一个,JAR丢失),并用一个通用的
异常替换它,那么您的
try/catch
方法将起作用


如果您是在eclipse中开发的,只需将mongo JAR添加到构建路径中即可。我不知道UIMA,但那不重要

谢谢!我已经改变了异常,我有同样的问题。我在项目中有mongo驱动程序(*.jar)。当我写“M”并按下Control+SPACE时,Eclipse检测到Mongo类。我在示例代码中定义了类似的路径,mongo jar在项目中。正如我提到的,我真的不知道UIMA,您是在eclipse IDE中执行不工作的项目,还是导出/打包项目?Asrijaal不在UIMA中思考。我在几个项目中使用API UIMA管道,工作非常完美。我可以通过多种方式从文本到文本挖掘,我想添加一种新的方式,一个新的类来访问mongo并获取文本(如示例代码),但我有一个错误…Ok Alex:)但是您是在eclipse中执行代码,还是打包然后执行?如果是第二种情况,那么eclipse不会导出mongo jar!好啊谢谢你,AsrijaalforInist在路径问题上,因为我在线程问题上思考。我已经在项目中添加了我的jar,但没有在主文件配置中添加。现在它可以正常工作了!!!如果您耽误了时间,我很抱歉,再次非常感谢您!;)
    private String getAbstractXMLFromMongoDB(String pmid){      
    try {
        Mongo m = new Mongo(); // <-----ERROR
        ...
    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (MongoException e) {
        e.printStackTrace();
    }
    return "something"
Exception in thread "Thread-5" java.lang.NoClassDefFoundError: com/mongodb/MongoException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
...