- 配置
pom.xml
文件
首先,在pom.xml
文件中需要将打包方式修改为war
,同时需要将内嵌的Tomcat去除。具体方法如下:
<!-- 修改打包方式为war -->
<packaging>war</packaging>
<!-- 去除内嵌的tomcat依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 增加Tomcat的依赖 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
- 编写启动类
在Spring Boot中,需要编写一个启动类,来配置整个应用的上下文环境。具体方法如下:
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
/**
* 重写configure方法,打成war包后才能在外部的Tomcat容器中部署
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApplication.class);
}
}
- 打包并部署
在完成以上两步配置后,可以通过运行以下命令对应用进行打包:
mvn package
执行该命令后,会在target
目录下生成一个.war
文件。将该文件上传到Tomcat的webapps
目录下,并重启Tomcat即可访问在线上环境中运行应用。
示例一:
假如目标应用的名称为demo
,则上传到Tomcat之后,可以通过以下地址访问该应用:
http://localhost:8080/demo/
示例二:
假如目标应用的名称仍然为demo
,但要部署到Tomcat中的ROOT
目录,即成为Tomcat的默认应用,则将.war
文件重命名为ROOT.war
,上传到Tomcat之后,可以通过以下地址访问该应用:
http://localhost:8080/
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot打成war包并在tomcat中运行的部署方法 - Python技术站