Я работаю над плагином для сервера Bukkit (Minecraft). Я хочу, чтобы иметь возможность писать материал в мою базу данных MongoDB, но любые методы, которые включают создание mongoClient, должны вызывать UnknownHostException
, а также все, в чем он вложен. Например: Класс слушателя прослушивает вход в плеер, что вызовет login utilities class, который вызовет класс базы данных. И все они должны бросить исключение. Проблема заключается в том, что добавление исключения ко всем из них создает эту ошибку (или, может быть, еще что-то, что вызывает это): server logВсе, что используется MongoDB, должно вызывать UnknownHostException
Это часть класса базы данных, если это помогает:
public static boolean checkForPlayer(String playername) throws UnknownHostException{
BasicDBObject query = new BasicDBObject();
query.put("username", playername);
//create client
MongoClient mongo = new MongoClient("some_address", 27017);
//create database
DB db = mongo.getDB("test");
//create collection
DBCollection table = db.getCollection("test");
//create cursor
DBCursor cursor = table.find(query);
if(!cursor.hasNext()){
return false;
}
return true;
}
Я m не очень хорошо подходит для java, поэтому проблема может быть чем-то глупо:/
проблема не в UnknownHostException, потому что у вас нет всех необходимых .class-файлов в вашем пути к классам. В трассировке стека, которую вы опубликовали, четко указано: «Caused by: java.lang.ClassNotFoundException: com.mongod.D.DBbject» – rees
Кроме того, вы должны опубликовать трассировку стека в своем вопросе, чтобы нам не пришлось перемещаться между страницами. – rees
Что это значит? Я добавил его в библиотеки в пути сборки java. – August