如何把Spring Boot打包成war


Spring Boot 默認打包為jar,受公司發布系統限制,不允許上傳jar包,需要轉為war和zip包,因此在使用Spring Boot時需要轉為war。

實現方式:

1、需要App類繼承SpringBootServletInitializer,並重寫“protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)” 方法。

Starter.java 文件:

 

@SpringBootApplication

 

@ComponentScan("com.xxx.tour.settlement")

 

public class Starter extends SpringBootServletInitializer {

 

 

    public static void main(String[] args) throws Exception {

 

        SpringApplication.run(Starter.class, args);

 

 

        System.setProperty("java.awt.headless", "false");

 

        Desktop.getDesktop().browse(new URI("http://127.0.0.1:8080"));

 

    }

 

 

    @Override

 

    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

 

 

        return builder.sources(Starter.class);

 

    }

 

 

}

 

2、修改Site的pom文件

<packaging>war</packaging>

 

3、添加web.xml 文件

如果出現web.xml is missing and <failOnMissingWebXml> is set to true 異常,需要添加web.xml 文件。

Spring Boot  默認是可以不需要web.xml 的,公司框架要求需要web.xml 文件,會讀取該文件下相關配置信息。

此問題的解決辦法:

1. 在Site中找到 Deployment Descriptor 右鍵。

2. 選擇Generate Deployment Descriptor Stub

這樣就能生成src/main/webapp/WEB_INF/web.xml文件了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM