Administrator
发布于 2019-01-05 / 1 阅读
0
0

如何把多个SpringBoot项目打成war包放在一台Tomcat上运行

## 修改pom.xml文件 ### 修改打包方式 ```XML war 修改打包类型为war类型 ``` ### 修改相关依赖 ```XML org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-tomcat provided ``` ### 修改相关插件 ```XML 加入以下插件 org.apache.maven.plugins maven-war-plugin demo 删除以下插件 ``` ## 修改springboot项目启动类 启动类继承 **SpringBootServletInitializer** 类,并重写**configure**方法 ```JAVA @SpringBootApplication public class DemoApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return super.configure(builder); } } ``` ## 修改springboot配置文件application ### application.properties ```properties springboot项目1: spring.jmx.enabled=false spring.jmx.default-domain=domain1 springboot项目2: spring.jmx.enabled=false spring.jmx.default-domain=domain2 spring.jmx.enabled的值默认为true 值为true的时候,两个springboot项目是不能同时启动的 spring.jmx.default-domain的值是什么无所谓,只要两个项目的值不一样就行 ``` ### application.yml ```properties springboot项目1: spring: jmx: enabled: false default-domain: domain1 springboot项目2: spring: jmx: enabled: false default-domain: domain2 ``` ## 打包运行 打包后,在项目空间的target目录下就可以看到打成的War包 让后吧war包放到tomcat的webapps目录下,启动tomcat,即可自动解压部署 然后通过浏览器访问即可 #### 注意:添加访问后缀后,要注意修改前端界面中的资源请求地址,不然可能出现大量404

评论