学习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中时却编译不成功,可以试一试这个方法。