Я использую сервер Glassfish, который пытается подключиться к MongoDB. Сначала я создал отдельные проекты для сервера и MongoDB. Поэтому сейчас я пытаюсь объединить эти проекты, но все, что я пытаюсь сделать, похоже, приводит к ошибкам.
Текущая ошибка, которую я получаю:
2018-07-05T19:54:36.249+0200|Severe: java.lang.NoClassDefFoundError: org/bson/conversions/Bson
Мне хорошо известно, что ошибка возникает во время выполнения и что возможной причиной является мой путь к классу.
В настоящее время я скопировал весь свой код из одного проекта в другой, добавил зависимости Maven, и произошло следующее:
, если я создаю отдельный файл .java для своего MongoDB и запускаю его в той же папке, что и сервер Glassfish, он прекрасно работает.
если я запускаю сервер и пытаюсь вызвать методы из другого класса (немного измененные), появляется верхняя ошибка
Пример упрощенного кода без ошибки:
import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Updates;
public class MyClass{
public static void main(String[]args){
String ip = "127.0.0.1";
int port = 27017;
MongoClient mongoClient = new MongoClient(ip,port);
/* Remaining code */
}
}
С ошибкой:
import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Updates;
public class MyClass{
private MongoClient mongoClient;
public MyClass(String ip, int port){
mongoClient = new MongoClient(ip, port); // Error called here
}
/* Remaining code */
}
Вызывается из файла server.java:
MyClass mc = new MyClass("127.0.0.1",27017);
Я также пытался загрузить все файлы json bson отдельно и добавить их в проект, но это не имело никакого эффекта ...