Java -cp 引入其他 jar 包導致不能引入當前目錄自定義的包
阿新 • • 發佈:2018-12-18
踩坑…
正在初學servlet,本來想在業務邏輯的java檔案中引入其他類,於是自定義了一個包,並在裡面聲明瞭一個類,之後在業務檔案中import 引入,然後編譯
javac -encoding utf-8 -d f:/java學習/demo3 -cp c:/tomcat/lib/servlet-api.jar study.java
然後直接出現錯誤:
study.java:3: 錯誤: 程式包com不存在 import com.demo; ^ study.java:7: 錯誤: 找不到符號 demo one = new demo(); ^ 符號: 類 demo 位置: 類 study study.java:7: 錯誤: 找不到符號 demo one = new demo(); ^ 符號: 類 demo 位置: 類 study 3 個錯誤
於是乎想了很久,一點一點的修程式碼一點點找原因,後來我編譯的時候不引入 servelet-api.jar(當然這時候要吧相應的import去掉) ,編譯
javac -encoding utf-8 -d f:/java學習/demo3 study.java
之後編譯成功,沒什麼問題,我猜測是因為 javac -cp 命令會導致不會載入當前目錄的類,在此記錄一下,至於解決方案,我簡單粗暴將 servlet-api.jar 新增到了 CLASSPATH 中…