您的位置:首页 > 运维架构 > Tomcat

IDEA springboot 打成war包,并在本地tomcat部署

2019-02-20 21:52 639 查看

1. 修改pom.xml

    1.1修改打包类型为war

[code]<packaging>war</packaging>

   1.2 屏蔽tomcat

[code]<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

  或者

[code]<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>

 

2. 修改启动类

    增加SpringApplicationBuilder configure方法

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

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(TestApplication.class);
}

}

3, 通过maven project package 打包成war包

4 ,放入tomcat里面的websapp里面,启动tomcat即可

 

FAQ:1. 在屏蔽tomcat后,根据代码的写法可能出现打war包出现javax.servlet.http不存在

               此时,需要手动导入tomcat/lib/servlet-api.jar 

               导入File ->project structure ->Libraries ->add 

          2. 屏蔽tomcat后,yml里面配置的端口就无用了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: