#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.