必须先安装Tomcat服务器,否则WAR包无法解压、Servlet容器无法启动、8080端口监听失败;Desktop 20 Pro版可用sudo apt install tomcat9一键安装并自动配置,Server 1021版则须手动卸载OpenJDK、安装Oracle JDK 8、部署Tomcat 8.5.35并配置systemd服务。

在统信UOS上部署Java Web应用前,必须先安装Tomcat应用服务器,否则WAR包无法解压、Servlet容器无法启动、8080端口监听失败;Desktop 20 Pro与Server 1021版本的安装路径完全不同,直接复用apt命令在Server版会报“Unable to locate package”错误,导致整个部署流程中断。
确认系统版本与架构
打开终端,执行:cat /etc/os-version 和 uname -m,查看UOS具体版本号及CPU架构(x86_64或aarch64)。
若输出中包含VERSION_ID="20"且NAME="uos",说明是Desktop 20 Pro系列,可跳过源码编译环节;若为Server 1021或更高版本,则必须手动部署。
这一步不可跳过——误判版本会导致后续所有操作白费,尤其Server版apt源中确实不含tomcat9包。
Desktop 20 Pro版:一键apt安装
方法一:终端中执行:sudo apt update && sudo apt install tomcat9。
该命令自动安装OpenJDK 11、tomcat9及配套systemd服务文件,无需额外配置JAVA_HOME。
安装完成后,webapps目录位于/var/lib/tomcat9/webapps/,配置文件在/etc/tomcat9/,日志默认输出到/var/log/tomcat9/。
启动服务:sudo systemctl start tomcat9.service;设为开机自启:sudo systemctl enable tomcat9.service。
【注意】此方法不适用于UOS Server系统——其软件源中通常不含tomcat9包,强行执行会提示“Unable to locate package”。
Server 1021版:手动部署Tomcat 8.5.35
第一步:卸载系统自带OpenJDK
执行dpkg -l | grep openjdk列出已安装包,逐个卸载:sudo apt remove --purge openjdk-*-jre-headless openjdk-*-jre openjdk-*-jdk;残留配置需清理:sudo rm -rf /usr/lib/jvm/*openjdk*。
第二步:安装Oracle JDK 8
下载jdk-8u201-linux-x64.tar.gz(ARM架构请换对应aarch64包),解压至/opt/java:sudo tar -zxf jdk-8u201-linux-x64.tar.gz -C /opt/ && sudo mv /opt/jdk1.8.0_201 /opt/java。
第三步:配置JAVA_HOME
编辑/etc/profile,末尾追加:export JAVA_HOME=/opt/javaexport PATH=$JAVA_HOME/bin:$PATH
执行source /etc/profile生效,验证:java -version应显示"Java(TM) SE Runtime Environment"。
第四步:部署Tomcat
下载apache-tomcat-8.5.35.tar.gz,解压并移至/opt/tomcat:sudo tar -zxf apache-tomcat-8.5.35.tar.gz -C /opt/ && sudo mv /opt/apache-tomcat-8.5.35 /opt/tomcat。
【关键】必须修改/opt/tomcat/bin/catalina.sh,在首行#!/bin/sh下方插入:export CATALINA_PID="/opt/tomcat/pid",否则systemd无法正确识别进程ID,服务将反复重启失败。
配置systemd服务并启动
创建服务文件:sudo nano /etc/systemd/system/tomcat.service,写入以下内容(User和Group请替换为实际非root用户名,如tomcat):
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
PIDFile=/opt/tomcat/pid
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/opt/java"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
重载配置:sudo systemctl daemon-reload。
启用并启动服务:sudo systemctl enable tomcat.service && sudo systemctl start tomcat.service。
验证运行状态:sudo systemctl status tomcat.service,看到active (running)即成功。











