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

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 "%r" %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 "%r" %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 "%r" %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文件了
