美文网首页
将SpringBoot打包成war包

将SpringBoot打包成war包

作者: HAXXY | 来源:发表于2018-06-22 17:10 被阅读0次

我们都知道,spring boot工程一般都打包成jar包的形式进行发布。

  java -jar demo.jar //IDEA中使用该命令进行打包

但是spring boot中内置的tomcat在每次程序启动的时候相当于一个新的tomcat,在项目有上传文件共能的时候将文件保存在tomcat中的话,每次重启的时候文件都会丢失。这个时候我们就需要将项目打包成war包进行外部tomcat的发布。

第一步
在pom.xml文件中添加下面的依赖:

  <!--因配置外部TOMCAT 而配置-->
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>provided</scope>
  </dependency>

同时,将pom.xml文件首部的jar改成war

  <groupId>cn.demo</groupId>
  <artifactId>demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <!--<packaging>jar</packaging>-->

最后,将启动类从

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

修改为

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DemoApplication.class);
    }


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

注意:该类继承了SpringBootServletInitializer并且重写了configure方法,这是关键所在。

最后在IDEA右侧的Maven栏中双击package等待Build Success即可,然后将项目中target中的war包放入tomcat中输入:http://localhost:[端口号]/[打包项目名]/

完成!!谢谢观赏。

相关文章

网友评论

      本文标题:将SpringBoot打包成war包

      本文链接:https://www.haomeiwen.com/subject/hqzkyftx.html