我创建了简单的Java Servlet:WelcomeServlet.java。Java编译错误。 servlet-api.jar
比,我试图通过编译该文件:
javac WelcomeServlet.java
在结果我看到编译错误:
包的javax.servlet不退出
我试图找到解决方案这个与谷歌的错误。我找到答案的第一部分:java编译器没有看到servlet-api.jar文件。
我知道,Apache Tomcat在它的lib文件夹中包含了servlet-api.jar文件。
所以,我有这个文件,但我必须复制这个文件?
我尝试不同的文件夹:
echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_26
%PATH%
包含此行:C:\ Program Files文件\的Java \ jdk1.6.0_26 \ BIN
所以,我在复制:
%JAVA_HOME% \ BIN
%JAVA_HOME%\ lib中
%JAVA_HOME%\ JRE \ lib中
而且在结果同样的错误。 并且只有在我将servlet-api.jar复制到目录中后: %JAVA_HOME%\ jre \ lib \ ext
compilation complite sucessful。
我的问题:为什么?为什么我必须复制到%JAVA_HOME%\ jre \ lib \ ext文件夹中?
这个时刻描述文档?
和其他问题,我们有一些官方文档或规范,描述jdk文件夹的文件夹结构?
必须在classpath中放入servlet JAR。 – Michael
您应该**从不**复制/移动现有的库。这只会导致运行时类加载灾难。您必须通过指定表示类路径的“-cp”或“-classpath”参数(它只是指向依赖类和JAR的磁盘文件系统路径的集合)来告诉Java编译器它们在哪里。请**撤销**所有复制/移动操作,并保持JRE和Tomcat的'/ lib'文件夹不变。 – BalusC