1. 程式人生 > >javac編譯出現“找不到符號”和"軟體包不存在"的解決

javac編譯出現“找不到符號”和"軟體包不存在"的解決

一 

    如下圖;目錄下三個java檔案;javac單獨編譯前2個成功,第三個時出現“找不到符號”;

因為第三個會用到前兩個;要一次性輸入所有java檔案;或者 javac *.java;如圖的下部,編譯成功;產生了3個class檔案;


javac編譯servlet下所有檔案,出現 軟體包不存在,49個錯誤;


三 

檢視classpath環境變數;

JDK的classpath環境變數,網上有兩種說法:

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

把 %JAVA_HOME%\lib\dt.jar 改為 %JAVA_HOME%\lib;再試,還是同樣,49個錯誤;

這兩種說法估計效果一樣;


按照網上資料,軟體包javax.servlet不存在,

其原因是java編譯器沒有找到軟體包javax.servlet;
解決辦法:
從tomcat lib目錄下拷貝一個servlet-api.jar的包到“JDK\jre\lib\ext”目錄下
凡是出現找不到包的情況,都可以將找到的包放到JDK\jre\lib\ext下,然後再編譯就能夠通過。

這就是不想花錢買書的後果,網上的東西有偏差;

看下jdk的lib目錄,其下有一個dt.jar;


五 按照四的方式操作後,再javac *.java;好了,還剩下25個錯誤;



    現在剩下的找不到的包或類是自己寫的類或第三方(非java自帶)包;在別的目錄下;

六 因為找不到model包,進入model目錄,把其下全部java檔案編譯為class;再進入servlet目錄編譯;還是同樣25個錯誤;搞不定了;到此為止。


    手動編譯比較複雜;IDE代替了大量的工作。