将聚合工程的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部署的一致(因为前端会调用对应的端口号)
<!-- 每个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怎么办?
解决方案:
新增
<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文件了