在tomcat 5.5中设置classpath后的编译问题

时间:2010-08-22 17:58:24

标签: servlets classpath tomcat5.5

我在windows vista home basic中安装了Tomcat 5.5。我已将classpath设置为 “C:\ program files \ apache software foundation \ tomcat 5.5 \ common \ lib \ servlet-api.jar”。 现在有两个问题。 我无法编译我的servlet。它说包javax.servlet。* dosenot存在。 2.我无法在chrome或explorer中连接本地主机。

这些错误正在出现,尽管服务器实例正在运行。 java sdk和tomcat的类路径是不同的。是关注的问题。 请帮忙。 我已投入大量时间来解决问题。 提前完成。

2 个答案:

答案 0 :(得分:1)

  

我已将classpath设置为“C:\ program   files \ apache软件   基础\ tomcat的   5.5 \ common \ lib文件\ servlet的api.jar文件“

如果这意味着CLASSPATH环境变量,那么您将学到宝贵的一课:它毫无价值。 javac.exejava.exe忽略它;像Tomcat这样的所有Java EE应用服务器也是如此;像IntelliJ这样的所有IDE也是如此。

每次在命令shell中编译时,都必须使用javac.exe -cp将servlet-api.jar添加到CLASSPATH中,或者将其添加到IDE项目CLASSPATH中,或者在Ant中进行设置。

如果您无法使用Chrome或资源管理器连接到localhost,则可能意味着您尚未正确打包或部署应用。确保创建有效的WAR文件并将其放在Tomcat 5.x / webapps目录中进行部署。

答案 1 :(得分:1)

  

我无法编译我的servlet。它说包javax.servlet。* dosenot存在。

这意味着未正确指定javac的类路径。它应该是这样的:

javac -cp .;"/path with spaces/to/servlet-api.jar" com/example/YourServlet.class

请注意,您需要使用双引号括起包含空格的路径。

  

我无法在chrome或explorer中连接本地主机。尽管服务器实例正在运行,但这些错误仍在出现。

然后你使用了错误的域/端口。在本地计算机上运行Tomcat时,域至少应为localhost。可以在Tomcat/conf/server.xml文件中确定实际端口。它默认为8080,但可以在Windows安装向导期间进行更改。最终的网址应该如http://localhost:8080。如果您使用默认HTTP端口80端口,则可以从URL中省略:80部分。

  

java sdk和tomcat的类路径是不同的。

%CLASSPATH%环境变量毫无价值。使用-cp参数。如果你想避免每次长时间输入/记忆,可以考虑在命令中使用.bat文件,或者像Ant那样使用构建工具,或者像Eclipse那样使用IDE。

%JAVA_HOME%环境变量很重要。 Tomcat需要知道它才能访问工具集来编译JSP文件。 %JAVA_HOME%应指向JDK的安装目录。