从Jar到War部署Spring Boot应用程序

如今,使用注解之类的工具来开发Spring Boot应用程序已经变得很容易了,并且可以将其初始化为Maven,Spring Boot和嵌入式服务器。

因此,正如我们的日常,在构建Spring Boot应用程序时,默认情况下,我们将该应用程序打包到一个JAR文件中,并将主要应用程序类执行到一个主要的嵌入式tomcat服务器中。然后,就可以在环境中运行应用测试。

如果我们要使应用程序服务器独立并将应用程序放置在现有服务器(如Weblogic,Jboss,Wildfly等)上怎么办?

为此,就必须使我们的应用程序成为WAR文件。

从Jar到War部署Spring Boot应用程序

这样做的简单步骤如下:

1.通过以下更改更新maven pom.xml

将包装标签设置为war

 war

将所有Tomcat Jar文件设置为provide


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

然后,还需要更新maven-war-plugin,如果web.xml丢失则不会失败。可以通过更新build标记中的插件信息并通过删除org.springframework.boot pom中的插件来完成此操作,如下所示:


            
            
            org.apache.maven.plugins
            maven-war-plugin
            3.1.0
            
                
                    default-war
                    prepare-package
                    
                        false
                    
                
            
        
        

2.更新Main类以 扩展
SpringBootServletInitializer

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

3.将文件
SpringBootWarDeployment-0.0.1.war 重命名为所需的名称springrestapi.war。

4.检查服务器是否缺少web.xml文件功能

通常,由于某些容器无法部署破折号版本,所以都是从构建文件中删除版本号。这可以说是一个小技巧,希望对你能有用哦。

你可能感兴趣的:(jarspringboot)