SpringBoot项目部署到外部Tomcat(Intellij IDEA)

前提

有一个SpringBoot项目 点我查看

下载第一版、导入Intellij IDEA、启动类鼠标右键运行(就像运行一个普通的Java程序)

验证:http://localhost:8888/hello

改造

1.启动类(比较方便)继承SpringBootServletInitializer

 extends SpringBootServletInitializer

2.重写configure方法

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(BootOnTomcat01Application.class);
}

3.在pom.xml中将打包方式改为war

<packaging>war</packaging>

4.排除内嵌的Tomcat

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
	<!-- 排除SpringBoot自带的Tomcat -->
	<exclusions>
		<exclusion>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
		</exclusion>
	</exclusions>
</dependency>

5.引入内嵌的Tomcat,并添加scope为provided

<!-- 
    引入tomcat(为了该项目依旧可以作为SpringBoot单独启动)
    但是添加<scope>provided</scope>(打包时不会包含进去,从而避免部署到外部Tomcat时与外部的Tomcat冲突) 
-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
	<scope>provided</scope>
</dependency>

6.配置Tomcat

6.1 添加Tomcat

1.添加Tomcat

6.2 给TomcatServer起名字,注意此时TomcatServer的端口号为8080

2.起名字并查看TomcatServer的端口号.png

6.3 添加Artifact

3.添加Artifact.png

6.4 选择Artifacts

4.选择Artifacts.png

6.5 配置Application Context

5.配置Application Context.png

6.6 点击绿色三角形,运行TomcatServer

验证:http://localhost:8080/boot_on_tomcat_01_war/hello

区别:

1.端口号变成了TomcatServer的端口号

2.应用上下文路径多了一级boot_on_tomcat_01_war(默认是war包的名字)

总结

经过以上改造,该工程既可以①单独启动,也可以②部署到外部的Tomcat上了。

注意①②两种方式启动后访问的端口和上下文路径的区别

代码区别

https://gitee.com/lanying100/boot-on-tomcat/commit/e8b94d7a64523d71dad530b72416ad29fb22b1c8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值