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

相关推荐
.5485 分钟前
Two Pointers(双指针)
java·数据结构·算法
AI进化营-智能译站11 分钟前
ROS2 C++开发系列11-VS Code一键生成Doxygen注释|让ROS2节点文档自动跟上代码迭代
java·数据库·c++·ai
bzmK1DTbd18 分钟前
OpenGL与Java:JOGL库的3D图形渲染实战
java·3d·图形渲染
许彰午18 分钟前
CacheSQL(四):CacheSQLClient——用一张路由表实现水平扩展
java·数据库·缓存·系统架构·政务
许彰午22 分钟前
CacheSQL(三):双 HTTP 引擎与 SQL 查询——接口抽象的价值
java·数据库·sql·缓存
手握风云-1 小时前
Spring AI:让大模型住进 Spring 生态(三)
java·后端·spring
咸鱼2.02 小时前
【java入门到放弃】Dubbo
java·开发语言·dubbo
JAVA面经实录9179 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
许彰午10 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
Bat U11 小时前
JavaEE|多线程初阶(七)
java·开发语言