1. 程式人生 > >Java -cp 引入其他 jar 包導致不能引入當前目錄自定義的包

Java -cp 引入其他 jar 包導致不能引入當前目錄自定義的包

踩坑…

正在初學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 中…