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代替了大量的工作。