1. 程式人生 > >程式包javax.servlet與javax.servlet.http不存在

程式包javax.servlet與javax.servlet.http不存在

學習JSP Servlet時,在沒有IDE(整合開發環境)的情況下要編譯一個帶包的類,這時就要用到cmd命令列,而這時就經常會出現錯誤。

例如提示“錯誤: 程式包javax.servlet不存在;錯誤: 程式包javax.servlet.http不存在;錯誤: 找不到符號”這些的錯誤。舉個例子來說,寫了一個需要匯入java.io.*,
javax.servlet.*,javax.servlet.http.*三個程式包的類test_servlet,當用“javac test_servlet.java”來編譯這個servlet類時,就出現了上述的錯誤,提示包不存在。

此時,需要用“-classpath”這個選項來指出我們所要匯入的包的路徑,編譯命令格式為“javac -classpath 包所在的路徑 servlet類”。上面的例子由於缺少了servlet-api.jar的程式包,所以解決方法就是“javac -classpath D:\Tomcat7.0\lib\servlet-api.jar test_servlet.java”,其中“D:\Tomcat7.0\lib\servlet-api.jar”可以是替換成其他路徑的,只要指出servlet-api.jar的路徑即可編譯成功。

有人說可以將tomcat\lib\servlet-api.jar複製到jdk\jre\lib\ext目錄下也可以編譯成功,但經過自己的測試卻沒有成功,然而上述的解決方法卻是萬能的。當將tomcat中的程式包複製到jdk中時卻編譯不成功,可以試一試這個方法。