idea中的springboot项目打包成war包部署到tomcat中
一,前言:
我们这个是前后端分离的项目,前段负责前端的页面,我们后端负责我们后端的接口,但是前后端是怎么结合在一起的呢那就是tomcat,按照我以前的思维是需要把前段的页面放到我们后端的webapp中,但是这样的话会很麻烦。前后端结合就是把前段的页面和后端的接口同时放在tomcat的webapp中,然后启动tomcat就行。
但是呢并不是把项目达成war包这样就好了,需要把你的springboot项目修改几个地方,
二,步骤
1,修改pom
- >
> 这个是告诉springboot启动的时候用外部的tomcat进行启动,而不用自己内部的tomcat进行启动
> <!-- 不采用spring-boot自带的tomcat进行启动 -->
> <!-- <dependency>
> <groupId>org.springframework.boot</groupId>
> <artifactId>spring-boot-starter-web</artifactId>
> <exclusions>
> <exclusion>
> <artifactId>log4j-over-slf4j</artifactId>
> <groupId>org.slf4j</groupId>
> </exclusion>
> <exclusion>
> <groupId>org.springframework.boot</groupId>
> <artifactId>spring-boot-starter-tomcat</artifactId>
> </exclusion>
> </exclusions>
> </dependency>
> <!– 本地启动需要–>
> <dependency>
> <groupId>org.springframework.boot</groupId>
> <artifactId>spring-boot-starter-tomcat</artifactId>
> <scope>provided</scope>
> </dependency>-->
>
2,给项目起别名
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>psb</warName>
</configuration>
</plugin>
3,修改启动类
@SpringBootApplication
public class WebApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 设置启动类,用于独立tomcat运行的入口
return builder.sources(Application.class);
}
//2017/12/12改
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}