将聚合工程的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文件了

相关推荐
Lhappy嘻嘻9 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
伊玛目的门徒9 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
懒鸟一枚12 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
我命由我1234514 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑14 小时前
Sentinel安装
java·后端·微服务
凤凰院凶涛QAQ15 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
掘金_答案16 小时前
上线那天,一个 ConcurrentHashMap 差点送走我的 AI 客服——3 天排查 JVM 血泪史
java·后端·架构
猿与禅17 小时前
CosId 分布式 ID 生成器完全教程:从架构原理到生产落地
java·shardingsphere·雪花算法·分布式id·高性能·cosid·号段模式
MindUp17 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维