• 如何将一个SpringBoot简便地打成一个war包(转)


    为什么要把SpringBoot打成war包

    正常情况下SpringBoot项目是以jar包的形式,通过命令行:

    java -jar demo.jar

    来运行的,并且SpringBoot是内嵌Tomcat服务器,所以每次重新启动都是用的新的Tomcat服务器。正因如此,也出现了一个问题: 
    上传到项目的文件,如果是保存在项目中的,那么重启过后文件就会丢失。比如我们上传了一个头像,重启项目后,这个头像就没了。而如果将文件保存在本地磁盘中的话,html中标签没办法获取。因此,我们才需要将SpringBoot项目打成war包,放到Tomcat中去运行。

    修改方法

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

     <!--因配置外部TOMCAT 而配置-->
    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

        <groupId>com.star</groupId>
        <artifactId>yiyong</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>
        <!--<packaging>jar</packaging>-->
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    最后,将启动类从

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

    修改为

    @SpringBootApplication
    public class YiyongApplication extends SpringBootServletInitializer{
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(YiyongApplication.class);
        }
    
    
        public static void main(String[] args) {
            SpringApplication.run(YiyongApplication.class, args);
        }
    }

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

    打包部署

    在IDEA右侧Maven栏双击package等待Build Success即可。 
    这里写图片描述 
    然后把target目录下的war包放到tomcat的webapps目录下,启动tomcat,即可自动解压部署。 
    最后在浏览器中输入

    http://localhost:[端口号]/[打包项目名]/

    发布成功

  • 相关阅读:
    Ubuntu 出现 apt-get问题的解决方法
    Conversion to Dalvik format failed: Unable to execute dex: null
    java中判断是否为中文
    解决:Unable to connect to repository https://dl-ssl.google.com/android/eclipse/site.xml
    Android 获取本机WIFI及3G网络IP
    xp重装系统后恢复Linux启动
    Android中空格及换行
    ubuntu12.10设置thunderbird开机自启动
    web安全及防护
    回归基础: JavaScript 变量提升
  • 原文地址:https://www.cnblogs.com/ccEmma/p/8856016.html
Copyright © 2020-2023  润新知