我想从命令提示符编译一个非常基本的 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\
对我来说,它看起来还可以,但显然不是。谁能告诉我可能是什么问题?
最佳答案
类路径不是路径...您不需要它作为环境变量。 您可以使用选项 -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 操作系统上的命令行编译,正确设置环境变量JAVA_HOME 和PATH 中JDK 的bin 目录是个好主意。
不过,我建议先通过/在 IDE 中编写-编译-执行-部署以进行 servlet 开发,然后再弄清楚如何仅使用命令行中的 JDK 来完成它。 Java Servlets 不是独立的可执行类,但需要部署到例如 tomcat 中才能进行测试/使用。
关于java - 如何从命令提示符编译 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10363742/