不依赖idea部署本地项目,这里使用哈米音乐为例。
哈米音乐项目为聚合项目,ham-parent为父模块,其余为子模块。

- ham-console:后台模块
- ham-core:公共模块
- ham-file:图片模块
- ham-portal:前台模块
需要将这些模块进行打包,点击右侧的Maven Projects
然后如下图步骤点击(其余模块一样)。

在你的target下就会生成一个打好的包

右键点击查看路径,将打包好的这四个包复制到你的tomcat下的webapps下


复制完毕后返回到上一级目录点击conf,修改server.xml

添加如下代码(需要部署几个就加几个,我这里是三个)
注意更改下面这几个部分

java
<!-- 每个service的名称要区别开 -->
<Service name="Catalina1">
<!-- 每个项目的端口号也要进行区分,保证不被占用 -->
<Connector port="8088" 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的名称要区别开 -->
<Service name="Catalina2">
<!-- 每个项目的端口号也要进行区分,保证不被占用 -->
<Connector port="8085" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URLEncoding="UTF-8"/>
<!-- 这里的AJP端口同样也要进行区分 -->
<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-console-1.0-SNAPSHOT" path="/" reloadable="true"/>
</Host>
</Engine>
</Service>
<!-- 每个service的名称要区别开 -->
<Service name="Catalina3">
<!-- 每个项目的端口号也要进行区分,保证不被占用 -->
<Connector port="8083" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URLEncoding="UTF-8"/>
<!-- 这里的AJP端口同样也要进行区分 -->
<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-portal-1.0-SNAPSHOT" path="/" reloadable="true"/>
</Host>
</Engine>
</Service>
修改完毕,点击bin文件找到 startup.bat 双击启动 在网页输入本地端口号就可以直接访问了

