场景 2:非 Maven Java Web 项目部署(以 BookShop 为例)
1. 项目特征
- 无
pom.xml,手动管理 jar 包(如commons-codec-1.9.jar放WEB-INF/lib)。 - 需手动配置项目结构、依赖、Web 模块,适合简单 Demo 或旧项目迁移。
2. 关键配置步骤
(1)Project Structure 全流程配置
- 打开
File → Project Structure,按以下标签逐步配置:① Project 标签(基础环境)
Name:项目名(如BookShop)。SDK:选JDK 1.8。Language level:选8 - Lambdas, type annotations。

② Modules 标签(模块与依赖
选项目模块(如 BookShop):
- Sources:标记
src为源码目录(蓝色),test为测试目录(绿色,可选)。 - Dependencies:点击
+ → JARS or directories,引入WEB-INF/lib下的所有 jar 包(如commons-codec-1.9.jar、mysql-connector-java-5.1.5.jar)。



③ Facets 标签(Web 模块识别)
点击 + → Web,关联项目的 web.xml(路径:WebContent/WEB-INF/web.xml):
- 确认
Deployment Descriptors中web.xml路径正确。 - 配置
Web Resource Directories(如WebContent目录,作为静态资源根路径)。

④ Artifacts 标签(部署产物配置)
点击 + → Web Application: Exploded → From Modules...,选项目模块(如 BookShop):
- 生成
BookShop:war exploded(解压后的 Web 应用目录,用于 Tomcat 部署)。 - 检查
Output Layout,确保WEB-INF/classes(编译输出)和WEB-INF/lib(jar 包)已包含。

选中自己的项目
2)Tomcat Server 配置(与 Maven 项目类似)
顶部 Run → Edit Configurations → 新建 Tomcat Server → Local:
- Server 标签:同 Maven 项目(选 Tomcat 目录、JDK、端口)。
- Deployment 标签:
- 点击
+ → Artifact,选BookShop:war exploded(非 Maven 项目的解压部署包)。 - 热部署:同 Maven 项目(选
Update classes and resources)。
(3)启动验证
- 启动 Tomcat 后,访问
http://localhost:8085/BookShop/(路径与Application context一致),验证页面或接口。
3.将项目部署到tomcat
在idea部署项目之后会产生一个classes文件夹,找到里面的_war_exploded文件夹
复制到tomcat的webapps里


配置server.xml文件
<Service name="Catalina1">
<!-- 每个项目的端口号也要进行区分,保证不被占用 -->
<Connector port="8088" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URLEncoding="UTF-8"/>
<!-- 这里的AJP端口同样也要进行区分 -->
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" secretRequired=""/>
<Engine name="Catalina1" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!-- 这里是想要部署的对应项目的名称 -->
<Context docBase="qcby2502_war_exploded" path="/" reloadable="true"/>
</Host>
</Engine>
</Service>
启动tomcat,查看日志 8088端口启动成功

验证:

部署成功
472

被折叠的 条评论
为什么被折叠?



