下载Tomcat前须确认JDK版本(Tomcat 9+需JDK 8+,10+需JDK 11+)及位数与Tomcat包一致,JAVA_HOME须指向JDK根目录且无中文空格,优先查catalina.out日志和端口冲突。

下载Tomcat前先确认JDK版本和位数匹配
Tomcat 9 及以上版本要求 JDK 8+,Tomcat 10+ 强制要求 JDK 11+;同时必须确保 JAVA_HOME 指向的是 JDK(不是 JRE),且位数(32/64)与 Tomcat 安装包一致。常见错误是 Windows 上装了 64 位 JDK 却下载了 32 位 Tomcat ZIP 包,启动时会报 Cannot find javaw.exe 或直接闪退。
实操建议:
立即学习“Java免费学习笔记(深入)”;
- 在命令行运行
java -version和echo %JAVA_HOME%(Windows)或echo $JAVA_HOME(macOS/Linux)验证路径和版本 - 从官网 https://www.php.cn/link/64329af3e5dc362feda36f2bb623a515 下载
tar.gz(Linux/macOS)或zip(Windows)核心包,不要下载 exe 安装版——它会静默注册 Windows 服务、写注册表,后续调试和多版本共存极难控制 - 解压到无中文、无空格路径,例如
C:\dev\tomcat\apache-tomcat-10.1.24或/opt/tomcat
配置环境变量只需设置 JAVA_HOME,CATALINA_HOME 可选
Tomcat 启动脚本(startup.bat / startup.sh)只依赖 JAVA_HOME,它会自动推导 CATALINA_HOME 为当前脚本所在目录的上级。手动设 CATALINA_HOME 不是必须,但设了能避免某些 IDE(如 IntelliJ)识别错路径。
实操建议:
立即学习“Java免费学习笔记(深入)”;
- Windows:系统环境变量中新增
JAVA_HOME,值为 JDK 根目录(如C:\Program Files\Java\jdk-17.0.2),不要带 bin 子目录 - macOS/Linux:在
~/.zshrc或~/.bash_profile中添加export JAVA_HOME=$(/usr/libexec/java_home -v 17)(推荐用/usr/libexec/java_home自动定位) - 验证:运行
bin/version.bat(Windows)或bin/version.sh(macOS/Linux),输出应含 Java 版本和 Tomcat 版本
启动失败时优先检查 logs/catalina.out 和端口冲突
启动后浏览器打不开 http://localhost:8080,不要急着重装。90% 的问题出在日志和端口上。Windows 下双击 startup.bat 窗口一闪而逝,是因为没输出到控制台——改用命令行执行才能看到错误。
LANUX V1.0 蓝脑商务网站系统 适用于网店、公司宣传自己的品牌和产品。 系统在代码、页面方面设计简约,浏览和后台管理操作效率高。 此版本带可见即可得的html编辑器, 方便直观添加和编辑要发布的内容。 安装: 1.解压后,更换logo、分类名称、幻灯片的图片及名称和链接、联系我们等等页面。 2.将dbconfig.php里面的数据库配置更改为你的mysql数据库配置 3.将整个文件夹上传至
实操建议:
立即学习“Java免费学习笔记(深入)”;
- 进入
bin目录,Windows 执行startup.bat && pause,macOS/Linux 执行./startup.sh && tail -f ../logs/catalina.out - 最常见错误:
Address already in use表示 8080 端口被占用,查占用进程:netstat -ano | findstr :8080(Windows)或lsof -i :8080(macOS/Linux) - 修改端口:编辑
conf/server.xml,找到,改成 8081或其他未被占用端口 - 如果看到
SEVERE: Failed to initialize end point associated with ProtocolHandler,大概率是 JDK 版本低于 Tomcat 要求
部署 Web 应用不一定要用 WAR 包,直接放 webapps 目录也行
新手常以为必须打包成 .war 放进 webapps,其实 Tomcat 启动时会自动解压 WAR,也会自动加载该目录下任何符合结构的文件夹(即 exploded directory)。开发阶段直接把项目编译后的 target/myapp(Maven)或 out/artifacts/myapp(IntelliJ)整个复制到 webapps/myapp 更快。
实操建议:
立即学习“Java免费学习笔记(深入)”;
- 确保目录结构正确:
webapps/myapp/WEB-INF/web.xml(Servlet 3.0+ 可省略)和webapps/myapp/WEB-INF/classes/下有编译类 - 修改
conf/context.xml可禁用自动部署:,避免热部署引发的内存泄漏 - 若想跳过默认首页(ROOT),删掉
webapps/ROOT目录,或把应用重命名为ROOT









