Spring Boot 打war包并部署到外部Tomcat服务器
1. 修改pom.xml文件将默认的jar方式改为war
<groupId>com.example</groupId>
<artifactId>application</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--默认为jar方式-->
<!--<packaging>jar</packaging>-->
<!--改为war方式-->
<packaging>war</packaging>
2. 排除内置的Tomcat容器[添加依赖]
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--打包时不用加进去,该依赖理论上可以参与编译,测试,运行等周期,相当于compile,但是打包阶段做了exclude操作-->
<scope>provided</scope>
</dependency>
3. 继承启动类,实现configure方法
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
4. pom.xml文件build标签下添加finalName标签
<build>
<!-- 应与application.properties(或application.yml)中context-path保持一致 -->
<finalName>war包名称</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
注意
使用外部Tomcat部署,application.properties(或者application.yml)中配置的
server.port=
server.servlet.context-path=
将失效,请使用tomcat的端口,tomcat,webapps下项目名进行访问。

12万+

被折叠的 条评论
为什么被折叠?



