spring boot项目eclipse环境下导成war包运行在外部tomcat

spring boot 项目打包成war包在tomcat中运行

前序:本人之前在校使用idea开发,当时spring boot导成war包项目在Linux系统的tomcat下运行十分简单,但是实习后,使用eclipse发现并没有那么简单,所以记录下来。

1.首先pom.xml添加 war包支持在这里插入图片描述

2.去除tomcat内嵌依赖,具体为将代码改成如下:

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>		<!-- 在starter-web内加入这段内容,即为解除了内置tomcat依赖 -->
				   <exclusion>
				      <groupId>org.springframework.boot</groupId>
				      <artifactId>spring-boot-starter-tomcat</artifactId>
				   </exclusion>
				</exclusions>
		</dependency>
		<!--<dependency>//这是原先存在的依赖,注释掉
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
		</dependency> -->
		<dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-tomcat</artifactId>
          <scope>provided</scope>		<!-- 添加这行代码,在项目启动时将不引入此依赖 -->
        </dependency>

在starter-web中方框内加入如上代码(注释有写明).

3.对servlet,api, jsp 三个依赖均加入<scope>provided</scope> ,理由如上,项目启动时不再启用此依赖。

4.对启动类进行修改,继承SpringBootServletInitializer类,并实现SpringApplicationBuilder configure接口,代码如下:

public class Application extends SpringBootServletInitializer{
 
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    //导成war包改变启动方式
    @Override
    public SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    	return builder.sources(Application.class);
    }
}

至此,eclipse环境下spring boot项目导成war包运行在外部tomcat的代码改动完成。

5.update project。随后右击项目,run as,选择maven install,war包打包完成后会在target文件夹下显示,如果未显示刷新即可。
代码配置依赖改动后,不影响原来在eclipse中的启动方式。

6.将war包复制至tomcat的webapps文件夹内,可对war包进行改名,启动tomcat,项目运行成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值