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

相关推荐
Z_z在努力4 小时前
【杂类】理解 @Repository 和 Mapper 的关系
java·tomcat·mybatis
paopaokaka_luck4 小时前
基于SpringBoot+Vue的少儿编程培训机构管理系(WebSocket及时通讯、协同过滤算法、Echarts图形化分析)
java·vue.js·spring boot·后端·spring
雨过天晴而后无语4 小时前
Windchill中MVC选中事件级联另一MVC内容
java·javascript·html·mvc
胖咕噜的稞达鸭4 小时前
C++中的父继子承:继承方式实现栈及同名隐藏和函数重载的本质区别, 派生类的4个默认成员函数
java·c语言·开发语言·数据结构·c++·redis·算法
陈小桔4 小时前
Springboot之常用注解
java·spring boot·后端
code小毛孩5 小时前
如何简单的并且又能大幅度降低任务队列的锁粒度、提高吞吐量?
java·jvm·数据库
你不是我我6 小时前
【Java开发日记】请介绍类加载过程,什么是双亲委派模型?
java·开发语言
牢七6 小时前
java10
java
阿挥的编程日记6 小时前
基于SpringBoot的高校(学生综合)服务平台的设计与实现
java·spring boot·后端·spring·mybatis