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