#java #mongodb #eclipse #servlets #cookies
#java #mongodb #eclipse #сервлеты #файлы cookie
Вопрос:
Я включил mongodb-driver-3.0.2.jar и bson-4.1.0.jar в моем приложении путь построения в Eclipse. После написания простого кода вставки некоторых документов в базу данных MongoDB и его выполнения я получаю эту ошибку:
The type com.mongodb.WriteConcern cannot be resolved. It is indirectly referenced from required .class files
Это мой код:
package abhishek; //<--- The error shows in this line
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.MongoClient;
@WebServlet("/Mongo_details")
public class Mongo_details extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name="";
String email="";
String age="";
Cookie[] cookie=request.getCookies();
for(Cookie c: cookie) {
if(c.getName().equals("name"))
name=c.getValue();
else if(c.getName().equals("email"))
email=c.getValue();
else
age=c.getValue();
}
// creates database
MongoClient ml=new MongoClient("localhost",27017);
DB db=ml.getDB("Storage");
// creates table
DBCollection c=db.getCollection("Details");
// insert documents
BasicDBObject doc=new BasicDBObject();
doc.put("Name", name);
doc.put("Email", email);
doc.put("Age", age);
c.insert(doc);
}
}
Пожалуйста, помогите мне это исправить.
РЕДАКТИРОВАТЬ: Хорошо, я нашел исправление, я удалил mongodb-driver-3.0.2.jar из моего пути сборки и добавил mongo-java-driver-2.10.1. Но теперь он показывает новую ошибку в консоли:
Caused by: java.lang.ClassNotFoundException: com.mongodb.DBObject
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)
... 40 more
Но у меня есть этот класс в моем com.mongodb
пакете
Как мне это исправить?
Комментарии:
1. К какой версии сервера MongoDB вы получаете доступ из своего кода? Это автономный или кластер?
2. Сервер сообщества MongoDB 4.4.1 (последняя версия)
3. Затем попробуйте использовать последнюю версию драйверов Java; v4.1.1 только что выпущен (по крайней мере, v3.12).
4. Попробовав это, я все равно получаю ту же ошибку.