2015-04-14 2 views
4

Попытка «привет мир» от mongo и Java, но я не могу построить свой проект.файл класса для com.mongodb.ServerAddress не найден

Я скачал Монго Java LIB здесь: https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver/3.0.0/

На приведенном ниже коде я получаю следующее сообщение об ошибке, когда здание:

error: cannot access ServerAddress 
      Mongo mongo = new Mongo("localhost", 27017); 
    class file for com.mongodb.ServerAddress not found 

Теперь, локальный на 27017, как это прекрасно работает через питон и пимонго.

Я адаптирую старый код Java, который вставлял в mysql db, но я считаю, что mongo - намного лучшее решение.

Большое вам спасибо за помощь.

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 



import com.mongodb.BasicDBObjectBuilder; 
import com.mongodb.DB; 
import com.mongodb.DBCollection; 
import com.mongodb.DBObject; 
import com.mongodb.Mongo; 


public class my_mongo_test { 

    /** 
    * @param args 
    *   the command line arguments 
    */ 


    public static void main(String[] args) { 
      HashMap<String,String> test = new HashMap<String,String>(); 
      test.put("A","A"); 
      mongo_test(test); 
    } 

     public static void mongo_test(HashMap<String,String> arg){ 
      Mongo mongo = new Mongo("localhost", 27017); 
      DB db = mongo.getDB("testDB"); 
      DBCollection col = db.getCollection("testColl"); 

      DBObject opt = createDBObject(arg); 


     } 

     private static DBObject createDBObject(HashMap<String,String> arg) { 
      BasicDBObjectBuilder docBuilder = BasicDBObjectBuilder.start(); 


      for(String s : arg.keySet()){ 
       docBuilder.append(s, arg.get(s)); 
      } 

      return docBuilder.get(); 
     } 




} 
+0

@Raptor Я сделал свое исследование. Mongo - намного лучшее решение для моего варианта использования. –

+0

Есть ли причина, по которой вы не используете «MongoClient», как это было предложено документами? http://mongodb.github.io/mongo-java-driver/2.13/getting-started/quick-tour/ – deyur

+0

@ deyur Это было частью отладки. на самом деле проблема заключалась в том, что у меня была неправильная версия библиотеки mongo. –

ответ

5

mongodb-driver имеет несколько зависимостей (bson и mongodb-driver-core), поэтому вам нужно больше, чем просто mongodb-driver.jar для его работы. Вы можете использовать uber jar mongodb-java-driver, который содержит все необходимые зависимости.

Недавно я обновил installation-guide, чтобы добавить ссылки на зависимости в документации.

Я также создаю mongodb java quickstart github repo, у которого есть конфигурации gradle и базовый файл QuickStart.java, который поможет вам встать и работать!

+0

Росс - его странный. https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongo-java-driver/3.0.0/mongo-java-driver-3.0.0.jar не работал для меня, но когда я загрузил 2.13, указанный выше, он работает отлично. –

+0

Интересно, распаковка банок показывает его там, но вы ссылаетесь на «mongodb-driver», который не является uber-банкой. Я бы порекомендовал, чтобы при запуске нового кода использовать драйвер 3.0 и использовать 'getDatabase()' и 'Document', а не старый стиль' DBObject' и устаревший 'mongo.getDB()'. – Ross

+0

благодарит за отзыв. Я бы рекомендовал, чтобы эти страницы помещали ссылки на примеры Java с соответствующими объектами. как новый пользователь, я ОЧЕНЬ виноват в том, что вы выбрали путь наименьшего сопротивления - как и другие. –

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