You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下无需IDE及GlassFish等软件安装JEE并命令行部署Tomcat应用

问题1:无额外插件/全栈应用服务器的JEE环境配置

首先你不需要单独安装完整的JEE(现已更名为Jakarta EE)发行包。针对你需要开发运行JSP、Servlet的场景,Tomcat本身已经实现了JEE规范中Web容器对应的所有必要规范,不需要额外安装GlassFish这类全栈应用服务器,也不需要任何附加插件,只要完成Tomcat的安装即可:

  • 提前确认JDK环境正常,执行java -version、javac -version核对版本符合目标Tomcat版本要求(Tomcat 9需JDK 8+,Tomcat 10需JDK 11+)
  • 下载对应版本的Tomcat核心压缩包(tar.gz格式),解压到本地目录,比如/opt/tomcat
  • 配置环境变量:在~/.bashrc中添加export CATALINA_HOME=/opt/tomcat,保存后执行source ~/.bashrc生效
  • 执行$CATALINA_HOME/bin/startup.sh,访问localhost:8080出现Tomcat默认欢迎页即为配置完成,此时你已经拥有了运行JSP、Servlet所需的全部JEE相关环境。
问题2:纯命令行部署JSP/Servlet到Tomcat

前置准备:构建标准Web项目结构

首先按照Servlet规范建立项目目录,示例结构如下:

your_project/
├── src/ # 存放Java源码(比如Servlet)
│   └── com/
│       └── example/
│           └── MyServlet.java
└── web/ # 存放Web资源
    ├── index.jsp # 你自己的JSP文件
    └── WEB-INF/
        ├── web.xml # 项目配置文件
        ├── classes/ # 编译后的class文件存放目录
        └── lib/ # 第三方依赖jar存放目录

步骤1:编译Servlet(纯JSP项目可跳过本步骤)

编译Servlet需要用到Tomcat自带的Servlet API包,直接指定类路径到Tomcat的lib目录即可,无需额外下载依赖:

# Tomcat 9及之前版本命令
javac -cp $CATALINA_HOME/lib/servlet-api.jar src/com/example/MyServlet.java -d web/WEB-INF/classes

# Tomcat 10及之后版本命令(API包名已改为Jakarta前缀)
javac -cp $CATALINA_HOME/lib/jakarta.servlet-api.jar src/com/example/MyServlet.java -d web/WEB-INF/classes

参数说明:-cp指定编译类路径,-d指定class文件输出目录,会自动生成对应包名的层级目录。

步骤2:配置web.xml(纯JSP项目可跳过本步骤)

在WEB-INF/web.xml中添加Servlet的访问映射配置,示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>com.example.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/myServlet</url-pattern>
    </servlet-mapping>
</web-app>

步骤3:部署到Tomcat

方式1:直接复制目录部署

把web目录重命名为你的应用名(比如myapp),直接复制到Tomcat的webapps目录即可:

cp -r web $CATALINA_HOME/webapps/myapp

如果Tomcat没有开启热加载,执行重启命令生效:

$CATALINA_HOME/bin/shutdown.sh && $CATALINA_HOME/bin/startup.sh

部署完成后访问路径为:http://localhost:8080/myapp/你的资源路径,比如JSP路径为http://localhost:8080/myapp/index.jsp,Servlet路径为http://localhost:8080/myapp/myServlet。

方式2:打包为WAR包部署

进入web目录打包为war包后复制到webapps目录即可,Tomcat会自动解压加载:

cd web
jar -cvf myapp.war *
cp myapp.war $CATALINA_HOME/webapps/

注意事项

  • 如遇权限问题,给Tomcat的webapps目录赋予对应读写权限,或使用sudo执行操作即可
  • Tomcat 10及以上版本使用Jakarta EE规范,Servlet类的导入包需改为jakarta.servlet.*,不要使用旧的javax.servlet.*包名,否则会运行报错

内容的提问来源于stack exchange,提问作者Srinath Sureshkumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 12:06:02