>>>Springboot项目打成war包部署到tomcat实录
springboot自带tomcat,打成jar包可以直接运行。但是如何打成war包部署在外部专用的tomcat上呢?
1.依赖调整,去除springboot自带的tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
或者
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
2.修改启动类
@SpringBootApplication //继承此类
public class SApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SApplication.class, args);
}
//加上这个
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SApplication.class);
}
}
注意:
使用外部Tomcat部署访问的时候,application.properties(或者application.yml)中配置的
server.port=
server.servlet.context-path=
将失效,访问项目的端口号为tomcat的端口
3. 打war包部署
pom文件需要加打包类型,<packaging>war</packaging>
, 位置参考下面的
<groupId>com.good.bigdata</groupId>
<artifactId>s</artifactId>
<version>1.0.0</version>
<name>bigdata-s</name>
<description>s project</description>
<packaging>war</packaging>
打包使用package或者install都可以打包
在target里面就能找到war包了
将war包复制到tomcat的webapps文件夹下面,启动tomcat
访问的url是http://ip:port/war包的名字/路径
参考自
https://www.cnblogs.com/lichangyunnianxue/p/9729395.html