使用IDEA将springboot打成war包在tomcat运行
说明
SpringBoot内置tomcat使用起来很方便,打成jar包以后就可以直接运行,然而这样的运行方式还是有它的局限性的,没有外部独立的tomcat管理起来方便,而且如果有多个web应用,使用外部tomcat的优势也很明显。所以在这里我就给大家介绍一下在IDEA中如何将一个springboot应用打成war包部署到外部tomcat中。
1步骤修改打包的形式
增加war包形式,也就是将pom.xml文件里的标签下增加war
如:
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<packaging>war</packaging>
2步骤修改导出war包的名称
在pom.xml文件的节点下可以添加一个节点用来指定最后导出war包的名称。
如:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<finalName>JudicialBack</finalName>
</build>
3步骤移除内置的tomcat插件
在pom.xml里面直接添加如下依赖项:
如:
<!--部署成war包时开启-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!---->
4步骤修改启动类
以前的启动类是DemoApplication,修改之前DemoApplication如下:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
修改之后
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
@Value("${spring.application.name}")
private String warName;
@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
5步骤修改配制application.properties
增加引导启动类配制spring.application.name=DemoApplication
如:
spring.servlet.multipart.max-file-size=2GB
spring.servlet.multipart.max-request-size=2GB
server.port=5666
#spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.url=jdbc:mysql://192.168.0.1:3306/judicial?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.application.name=DemoApplication
6步骤使用IDEA导出war包
在IDEA中点击菜单的【Build】——【Build Artifacts】,然后选择要打包的springboot工程,点击【Build】或者【ReBuild】,然后在工程的target目录下面会生成war包。
7步骤在tomcat 中布署war包运行。
注意事项。
外部tomcat要使用8.5及以上的版本,不然支持不了springboot