Springboot的项目如何打成war包

共 3400字,需浏览 7分钟

 ·

2020-10-29 23:59

点击上方蓝色字体,选择“标星公众号”

优质文章,第一时间送达

  作者 |  别先生

来源 |  urlify.cn/22qeAn

66套java从入门到精通实战课程分享

1、在SpringBoot中默认支持Tomcat容器,所以当一个SpringBoot项目打包生成*.jar文件,并且直接执行的时候就会自动启动内部的Tomcat容器。除了此种模式之外,也可以将Web项目打包为*.war文件,采用部署的形式通过Tomcat进行发布处理,这种方式和传统模式比较类似,打成war包丢到tomcat里面进行运行。

 

2、在将SpringBoot打包为*.war文件的时候,如果想正常部署一定要注意以下两点:

  第一点:是取消项目中的Jetty容器的配置。

  第二点:是将所有的源文件夹目录设置输出资源,修改父pom.xml中的配置。千万注意,创建WEB-INF/web.xml配置文件,不然会提示报错的哦。

 

3、开始修改pom.xml配置文件,将程序的打包类型定义为*.war,修改pom.xml配置文件,追加war文件打包插件。

"1.0"?>
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
    http://maven.apache.org/xsd/maven-4.0.0.xsd"

    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    4.0.0

    
        com.bie
        springboot-base
        0.0.1-SNAPSHOT
    


    
    
    springboot-tentent
    
    springboot-tentent
    http://maven.apache.org
    
    war

    
        UTF-8
    


    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            junit
            junit
            test
        

        
            org.springframework.boot
            spring-boot-starter-jetty
        

    


    
        
            
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                
                    org.springboot.tentent.Springboot01Application
                

                
                    
                        
                            repackage
                        

                    

                

            

            
                org.apache.maven.plugins
                maven-war-plugin
                
                    
                    springboot-tentent
                

            

        

        
            
                src/main/resources
                
                    **/*.properties
                    **/*.yml
                    **/*.xml
                    **/*.tld
                

                false
            

            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                    **/*.tld
                

                false
            

        

    




修改完pom.xml文件之后,更新项目会报错提示缺少web.xml配置文件,此时创建一个web.xml配置文件即可。

如果现在项目要以Tomcat的形式运行,那么需要修改SpringBoot程序启动类定义,该类必须要继承SpringBootServletInitializer父类,同时还需要覆写configure()方法。 

package org.springboot.tentent;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication // 启动Springboot程序,自带子包扫描
public class Springboot01Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 配置Springboot的应用环境
        SpringApplicationBuilder sources = builder.sources(Springboot01Application.class);
        return sources;
    }

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

}

对项目进行打包部署(clean package),成功之后会在target目录中形成xxx.war程序文件,随后可以将此文件直接复制到Tomcat所在目录之中,而后启动Tomcat进行项目发布。

生成的xxx.war包在target目录下面,由于我的使用的maven创建父子工程,所以生成了两个,如下所示:

此时可以将此文件直接复制到Tomcat所在目录(apache-tomcat-8.5.34\webapps)之中,而后启动Tomcat进行项目发布。 




粉丝福利:实战springboot+CAS单点登录系统视频教程免费领取

???

?长按上方微信二维码 2 秒
即可获取资料



感谢点赞支持下哈 

浏览 33
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报