學習筆記 ---spring boot 在STS裏將項目打包成war

spring boot通過在maven的pom.xml裏面添加spring boot自帶的打包插件,可以直接將項目打包成可執行的jar文件

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
這種jar文件,spring boot 內嵌了tomcat,因爲可以直接通過jar -jar jar文件路徑,直接跑起服務,但這時,如果我有需求,想直接打包成war包,然後自己放在tomcat裏面執行呢,這時,我們可以這麼幹

1.修改pom.xml,將packing由jar改成war,並添加tomcat的依賴,scope->provided表明,如果打包時,需要內嵌tomcat就自動提供

è¿éåå¾çæè¿°

2.打開DemoApplication ,讓他直接繼承SpringBootServletInitializer,並重寫configure方法,該方法的作用提供類似web.xml的配置服務 

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@SpringBootApplication
@RestController
public class DemoApplication extends SpringBootServletInitializer{

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }

    @RequestMapping(value = {"/",""})
    public String helloboot(){

        return "hello boot !!" ;
    }


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

好到這裏,我們就可以直接右鍵,Run As - >Maven build..輸入package的命令,直接打成war包了,

è¿éåå¾çæè¿°

打成的war包直接在項目的target可以看到

這時,你就可以把war報扔到你的tomcat的webapp目錄下,直接跑tomcat就可以啓動服務了,在瀏覽器輸入http://localhost:8080/demo 
測試

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章