Springboot项目(包含第三方jar包)打成war包方法

Spring Boot一般以jar包的形式发布,但是有的时候需要动态配置参数部署项目,尤其是配置的参数数量特别多时,使用war包部署实际上是一个不错的选择。以下是将Spring Boot项目打包成war包发布的详细过程。

1、修改启动类,并重写configure方法

@SpringBootApplication
@MapperScan("")
public class Application extends SpringBootServletInitializer {

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

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

}

说明:该修改是为了达到类似于web.xml的配置方式来启动spring上下文

2、修改pom.xml文件

2.1 修改项目发布形式

war

2.2 移除tomcat插件


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

或者:


    org.springframework.boot
    spring-boot-starter-tomcat
    provided

2.3 添加servlet依赖


    javax.servlet
    javax.servlet-api
    3.1.0
    provided

2.3 编译时配置第三方jar包加载路径


    org.apache.maven.plugins
    maven-compiler-plugin
    ${maven-compiler-plugin.version}
    
        1.8
        1.8
        true
        UTF-8
        
            ${project.basedir}/src/main/resources/lib
        
    

2.4  配置第三方jar包发布路径以及取消web.xml校验


    org.apache.maven.plugins
    maven-war-plugin
    3.1.0
    
        
            
            
                src/main/resources/lib/
                WEB-INF/lib/
                
                    **/*.jar
                
            
        
        
        false
    

另外,标签下可以增加标签标示最终war包发布的名称,如下所示:

XXXXXXXXX

2.5 maven命令打包 

执行mvn clean package命令即可生成war包

3、war包部署与访问

将生成war包直接部署到tomcat webapps文件夹下,直接启动tomcat即可,war会自动解压,进行发布。

注意:此时,项目中接口路径和jar包版本中的路径是不一样的,它比jar版本中的所有接口路径要多一个前缀,即"/war包解压后文件夹名/”。如果war包发布接口路径要和jar包版本路径一致,可以将解压后的war包文件夹名直接改为"ROOT",然后重启tomcat即可。

 

你可能感兴趣的:(JAVA,web)