[英]I keep getting “error package com.mongodb does not exist” when trying to compile MongoDB Utilites class
我正在使用與存儲產品評論的MongoDB的連接運行Webapp。 Webapp的當前版本可以正常工作。 (即,它將新評論撰寫並存儲在MongoDB集合中)。
但是,當我進行更改並嘗試編譯MongoDB Utilities類的新版本時,我不斷得到:
error package com.mongodb.XXX does not exist
import com.mongodb.BasicDBObject;
^
我在\\ lib目錄中確實有以下.jar文件:
mongodb-driver-3.6.3
mongodb-driver-core-3.6.3
mongodb-java-driver-3.6.3
bson-3.6.3
我在CLASSPATH變量中提到了它們:
set CLASSPATH=.;C:\apache-tomcat-7.0.34\lib\servlet-api.jar;C:\apache-tomcat-7.0.34\lib\jsp-api.jar;C:\apache-tomcat-7.0.34\lib\el-api.jar;C:\apache-tomcat-7.0.34\lib\commons-beanutils-1.8.3.jar; C:\apache-tomcat-7.0.34\lib\mongo-java-driver-3.6.3.jar; C:\apache-tomcat-7.0.34\lib\bson-3.6.3;C:\apache-tomcat-7.0.34\lib\mongodb-driver-3.6.3; C:\apache-tomcat-7.0.34\lib\mongodb-driver-core-3.6.3; C:\apache-tomcat-7.0.34\lib\mysql-connector-java-5.1.38-bin.jar;
我究竟做錯了什么? 如何獲取Java來編譯新的MongoDB Utilities類?
我無法重現相同的行為,但是我在構建腳本中僅引用mongodb-java-driver-3.6.3
。
由於mongodb-java-driver
是包含mongodb-driver
, mongodb-driver-core
和bson
的超級JAR,您可以嘗試從類路徑中刪除后三個文件並構建腳本,看看是否可以解決問題。
我能夠解決我的問題,因此我發布了此答案,以防有人陷入同一問題。
感謝用戶“ nos”在此問題的答案中發帖,我在編譯時使用了-verbose選項,例如:
javac -verbose className.java
在錯誤日志中,我注意到Java編譯器正在與CLASSPATH定義中使用的文件夾不同的\\lib
文件夾中搜索MongoDB類。 因此,我在那里添加了mongodb-java-driver
的副本,並且編譯工作正常。
就像craigcaulfield正確提到的那樣,不需要添加其他驅動程序( mongodb-driver
, mongodb-driver-core
和bson
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.