War Sample
一个快速入门的使用 tomcat 部署 Java 应用的例子。
安装 tomcat
| # 安装 JDK
sudo apt install default–jdk
# 解压安装包
cd /opt/www
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.83/bin/apache-tomcat-9.0.83.tar.gz
tar -zxvf apache-tomcat-9.0.83.tar.gz
# 设置环境变量
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export CATALINA_HOME=/opt/www/apache-tomcat-9.0.83
# 修改成自动 reload
vim $CATALINA_HOME/conf/context.xml
<Context reloadable="true">
...
</Context>
# 启动 tomcat
$CATALINA_HOME/bin/startup.sh
|
Java 源码部署
源代码: https://github.com/aisuhua/war-sample
| # 下载源代码到 webapps 目录
cd $CATALINA_HOME/webapps
git clone git@github.com:aisuhua/war-sample.git
# 测试
curl http://localhost:8080/war-sample/
|
重新编译 class 文件
| # 先确定 servlet jar 包的位置
$ ls /usr/share/java/ | grep servlet
guice-servlet-4.0.jar
guice-servlet.jar
tomcat8-servlet-api-8.5.39.jar
tomcat8-servlet-api.jar
# 设置 CLASSPATH 环境变量
export CLASSPATH="/usr/share/java/*"
# 重新编译 HelloServlet.java
cd $CATALINA_HOME/webapps/war-sample/WEB-INF/classes/test
javac HelloServlet.java
|
War 包部署
| # 将源代码打包成 War 包
git clone git clone git@github.com:aisuhua/war-sample.git
cd war-sample
jar -cvf war-sample.war *
# 将 war 包放置到 webapps 目录
mv war-sample.war $CATALINA_HOME/webapps/
# 测试
curl http://localhost:8080/war-sample/
|
其他
| # 查看 Java 可用版本
update-java-alternatives -l
# 查看日志
tail -f $CATALINA_HOME/logs/*.log
|
参考文献
- Sample Application
- a hello, world servlet
- Servlets - Examples
- How to Install Apache Tomcat 8 on Ubuntu
- Tomcat - CATALINA_BASE and CATALINA_HOME variables
- javac command line compile error: package javax.servlet does not exist
- War File
- How do I update a Tomcat webapp without restarting the entire service?
- How To Install Apache Tomcat 8 on Ubuntu 16.04
作者: aisuhua