一、环境准备(通用基础)
1. 核心环境
- jdk:确保安装
jdk 1.8+(示例用1.8 oracle openjdk),通过java -version验证。 - tomcat:本地安装
tomcat 8.5+(如apache-tomcat-8.5.29),记住安装目录(后续配置用)。
二、场景 1:maven 多模块 java web 项目部署
1. 项目特征
- 含
pom.xml,通过 maven 管理依赖和多模块(如父模块hami_parent+ 子模块hami_protal)。 - 构建流程:
clean→install自动编译、打包,适合复杂聚合项目。


依次为每个部分添加本地tomcat-server

修改名字,热部署,端口号,jdk

这里添加相应的

点击apply ->ok 运行tomcat

(2)maven 构建:生成 war 包
- 右侧打开 maven 面板,找到父模块(如
hami_parent [root]):
- 先双击
lifecycle → clean(清理旧构建产物)。 - 再双击
lifecycle → install(编译代码 → 打包成war→ 安装到本地仓库)。

- 控制台输出
build success后,检查子模块target目录,生成xxx.war和xxx.war exploded(部署用解压包)。

(3)将生成的war包与jar包一并复制到tomcat的webapps路径下

4)配置server.xml文件
将下面的代码插入到server.xml文件中,注意这是我们自定义的<service>,要与 自带的分开,防止嵌套

<service name="catalina1">
<!-- 每个项目的端口号也要进行区分,保证不被占用 -->
<connector port="8083" protocol="http/1.1"
connectiontimeout="20000"
redirectport="8443" urlencoding="utf-8"/>
<!-- 这里的ajp端口同样也要进行区分 -->
<connector port="8011" 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="hami_console-1.0-snapshot" path="/" reloadable="true"/>
</host>
</engine>
</service>
<service name="catalina2">
<!-- 每个项目的端口号也要进行区分,保证不被占用 -->
<connector port="8084" protocol="http/1.1"
connectiontimeout="20000"
redirectport="8443" urlencoding="utf-8"/>
<!-- 这里的ajp端口同样也要进行区分 -->
<connector port="8012" 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="hami_file-1.0-snapshot" path="/" reloadable="true"/>
</host>
</engine>
</service>
<service name="catalina3">
<!-- 每个项目的端口号也要进行区分,保证不被占用 -->
<connector port="8085" protocol="http/1.1"
connectiontimeout="20000"
redirectport="8443" urlencoding="utf-8"/>
<!-- 这里的ajp端口同样也要进行区分 -->
<connector port="8013" 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="hami_protal-1.0-snapshot" path="/" reloadable="true"/>
</host>
</engine>
</service>5)启动tomcat

端口号启动成功:

并且 webapps目录下生成了相应的war,jar包目录,现在我们就可以 url直接访问我们的项目


部署成功
总结
到此这篇关于idea中tomcat部署java web项目的文章就介绍到这了,更多相关idea tomcat部署javaweb内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论