如何编译Servlet类?Mac Tomcat环境下Servlet编译相关问题咨询
首先纠正一个常见笔误:你提到的server-api.jar大概率是servlet-api.jar,以下基于该包说明:
servlet-api.jar 存放要求
- 编译阶段无需放到Tomcat的指定目录,只要编译时能通过类路径定位到该包即可
- 禁止将该包放入你自己Web应用的
WEB-INF/lib目录:Tomcat自身的lib目录已经内置了servlet-api.jar,重复放置会触发类加载冲突,导致服务运行报错 - 日常开发可以把该包放到你本地统一的公共依赖目录(比如自建的
~/java_common_libs)管理即可,无需关联Tomcat路径
编译HelloWorld Servlet步骤
Mac环境默认自带JDK,直接用javac命令编译即可:
- 进入
HelloWorld.java所在的目录,比如文件存放在~/dev/tomcat_demo/src,执行命令:cd ~/dev/tomcat_demo/src - 执行编译命令,通过
-cp参数指定servlet-api.jar的路径,假设该包存放在~/java_common_libs/servlet-api.jar,命令如下:javac -cp ~/java_common_libs/servlet-api.jar HelloWorld.java
- 无报错的情况下,当前目录会生成
HelloWorld.class字节码文件 - 后续部署只需把该class文件放到对应Web应用的
WEB-INF/classes下的对应包路径中,再配置好web.xml路由或Servlet注解即可正常访问
内容的提问来源于stack exchange,提问作者pierbin24
相关产品推荐
相关产品推荐

