将聚合工程的ssm项目部署到本地tomcat

前情提要:哈米音乐的项目

a.ham-parent父工程,pom包,每个项目都需要依赖<models>列出所管理的子模块

b.ham-cosole后台,war包,后台依赖ham-core

c.ham-core公共模块,jar包,

d.ham-file图片服务器,

e.ham-portal前台,war包,前台依赖ham-core

1.找到父工程,clean,install

2.成功之后会有生成对应的jar包/war包

3.打开文件所在位置

4.依次将war包或者jar包复制到tomcat下的webapps下面(可以粘贴ham-core.jar,也可以不粘贴)

5.改写tomcat的文件,conf下面的server.xml文件,

添加以下代码,放在<Server>标签内(认真改这里,报错的话,错误大概率出现在这里)

强调,图片服务器的端口号需要与idea部署的一致(因为前端会调用对应的端口号)

XML 复制代码
      <!-- 每个service的名称要区别开 -->
<Service name="Catalina1">
    <!-- 每个项目的端口号也要进行区分,保证不被占用 -->
    <Connector port="8085" 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 &quot;%r&quot; %s %b" />
            <!-- 这里是想要部署的对应项目的名称,只是名称,不包括后缀 -->
		    <Context docBase="ham-file-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"/>
	<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" secretRequired=""/>
    <Engine name="Catalina2" 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 &quot;%r&quot; %s %b" />
		    <Context docBase="ham-portal-1.0-SNAPSHOT" path="/" reloadable="true"/>
      </Host>
    </Engine>
  </Service>
  <Service name="Catalina3">
    <Connector port="8089" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URLEncoding="UTF-8"/>
	<Connector port="8012" protocol="AJP/1.3" redirectPort="8443" secretRequired=""/>
    <Engine name="Catalina3" 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 &quot;%r&quot; %s %b" />
		    <Context docBase="ham-console-1.0-SNAPSHOT" path="/" reloadable="true"/>
      </Host>
    </Engine>
  </Service>

(war exploded,核心优势是「热更新快、调试方便、无文件锁定」,war包是压缩目录,war exploded是解压后的目录,一般会使用,war exploded)

6.启动本地tomcat,bin目录下的startup.bat,如果出现闪退说明有问题,可取logs下面查看对应日期的日志

出现多少ms,启动成功,输入url即可访问页面

报错:springmvc.xml不存在,突然无法 找到springmvc.xml怎么办?

解决方案:

新增

XML 复制代码
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*</include> <!-- 包含该目录下所有文件 -->
                </includes>
            </resource>

原因:maven"搬家",会默认把src/main/resources下的所有文件放到,target/classes中

但是红色框中的内容,自定义了搬家规则,只搬取

复制代码
src/main/webapp/WEB-INF下的.xml文件,

蓝色框新增内容,可搬取src/main/resources下的xml文件了

相关推荐
野生技术架构师6 分钟前
牛客网Java 高频面试题总结(2025最新版)
java·开发语言·面试
纪莫14 分钟前
技术面:SpringBoot(springboot的类加载和传统的双亲委派有什么区别、如何按顺序实例化Bean)
java·spring·java面试⑧股
kyle~32 分钟前
CPU调度---协程
java·linux·服务器·数据库·c++20
会飞的小蛮猪36 分钟前
Skywalking运维之路(Skywalking服务搭建)
java·运维·监控
L.EscaRC1 小时前
Redisson在Spring Boot中的高并发应用解析
java·spring boot·后端
他们叫我技术总监1 小时前
从开发者视角深度评测:ModelEngine 与 AI 开发平台的技术博弈
java·人工智能·dubbo·智能体·modelengine
李辉20031 小时前
Python逻辑运算符
java·网络·python
摇滚侠1 小时前
Spring Boot3零基础教程,StreamAPI 介绍,笔记98
java·spring boot·笔记
扫地僧过江南1 小时前
Kanass零基础学习,如何进行任务管理
java·禅道·项目管理工具
无敌最俊朗@1 小时前
C++ 值类别与移动语义详解(精简版)
java·数据结构·算法