пакет com.mongodb.client не существует для консольной программы Java

#java #mongodb #eclipse #jar

#java #mongodb #eclipse #jar

Вопрос:

Итак, вот предыстория …

Мне нужно создать простой консольный проект Java, который обращается к базе данных MongoDB и вносит некоторые изменения в записи внутри, чтобы другая (гораздо большая) программа не выполняла ошибку при попытке чтения из них.

Теперь я пытаюсь подключить свой консольный проект java к MongoDB, но программа продолжает указывать, что пакеты, которые я пытаюсь использовать, не существуют.

com/logFileModifier/MainClass.java:3: ошибка: пакет com.mongodb.client не существует импортируйте com.mongodb.client.MongoDatabase;

com/logFileModifier/MainClass.java:4: ошибка: пакет com.mongodb.client не существует импортируйте com.mongodb.client.MongoIterable;

com/logFileModifier/MainClass.java:5: ошибка: пакет com.mongodb не существует импортируйте com.mongodb.MongoClient;

Я использую Java-версию Eclipse для работы над этим, скачал и добавил mongo-java-driver-#.jar , mongodb-driver-#.jar , и mongodb-driver-core-#.jar для проекта viva Настройте параметры пути сборки.

не повезло

Также для этого проекта я должен скомпилировать с использованием ‘javac …’ и запустить с использованием ‘java …’, поскольку мне придется перенести этот проект с моего ноутбука на сервер, где находится настоящий MongoDB, и запустить его там.

Для пользователей, которые скажут, что мне следует / нужно использовать Maven / Gradle, я хочу, чтобы это было как можно проще, поэтому я бы предпочел просто получить файлы .jar и переместить их вместе с проектом. Также я не могу гарантировать, что проект будет иметь разрешения на доступ к Интернету после его установки на сервере.

Если кто-нибудь может предложить некоторую помощь по этому вопросу, я был бы очень признателен.

Ответ №1:

Вам нужно добавить файлы jar в путь к классу. Это можно сделать через -cp mongo-java-driver-#.jar ,mongodb-driver-#.jar ,mongodb-driver-core-#.jar или через среду CLASS_PATH.

Комментарии:

1. спасибо за помощь. итак, я добавил это в свою команду ‘javac’, и это больше не нарушает компиляцию, но должен ли я использовать его с командой ‘java’ для запуска?

2. javac компилирует его, но не включает. Это то же самое, что и с Windows dll. Но если хотите, вы можете объединить его, извлечь и поместить весь ваш код и содержимое jar в новый jar. Но это может усложниться, если «службы» объявлены внутри jar.