我想从命令提示符编译一个非常基本的servlet
,但它总是不成功,编译器会告诉我以下内容:
error: package javax.servlet does not exist.
我搜索了解决方案,我发现我需要将servlet.jar
库包含在我的PATH中。
我相信我做到了。
我坚信我的计算机中这些库的位置是:
C:\apache-tomcat-7.0.23\lib\servlet-api.jar\
我的PATH的结尾(相关部分)如下:
%JAVA_HOME%\bin;C:\apache-tomcat-7.0.23\lib\servlet-api.jar\
对我来说,它看起来不错,但显然不是。谁能告诉我可能是什么问题?
答案 0 :(得分:9)
classpath not path ...并且您不需要它作为环境变量。 您可以使用选项-cp或-classpath设置javac的类路径(还可以使用其他几种方法)。 javac使用环境变量CLASSPATH来查找类,这些类可能很有用,也可以成为难以跟踪问题的源。
编译使用库(即标准JavaSE之外的类)的java文件的示例如下:
javac -classpath C:\apache-tomcat-7.0.23\lib\servlet-api.jar MyTestServlet.java
如果您的环境变量CLASSPATH包含您可能需要的库:
javac -classpath %CLASSPATH%;C:\apache-tomcat-7.0.23\lib\servlet-api.jar MyTestServlet.java
(请注意我无法访问Windows机器,因此未测试上述语法的特殊部分) (另请注意,在此示例中,“C:\ apache-tomcat-7.0.23 \ lib \ servlet-api.jar”是一个jar文件,而不是可能来自您机器上的问题的目录) 对于Windows OS上的命令行编译,最好在PATH中正确设置环境变量JAVA_HOME和JDK的bin目录。
然而,我确实建议通过/在IDE中编写 - 编译 - 执行 - 部署以进行servlet开发,然后再确定如何使用命令行中的JDK来完成它。 Java Servlet不是独立的可执行类,但需要部署到例如tomcat中进行测试/使用。答案 1 :(得分:1)
首先从以下路径
复制servlet-api.jar文件 C:\apache-tomcat-7.0.23\lib\servlet-api.jar;
按照路径
将其粘贴到java软件的bin文件夹中 C:\java\jdk1.6\bin;
希望您现在可以成功编译您的servlet程序。
答案 2 :(得分:1)
1.您可以将javax.servlet.jar复制到jdk1.6 \ lib文件夹中。 2.您可以转到Control Panel \ System \ Advanced System Properties \ Environment Variables
在CLASSPATH变量中输入jar的位置,如下所示:
然后编译并运行servlet。