Spring Boot框架開發(fā)Web項(xiàng)目之九 Spring Boot項(xiàng)目的打包和部署

本系列文章主要索引詳情 點(diǎn)擊查看


現(xiàn)在我們已經(jīng)有了一個(gè)簡單的項(xiàng)目了,我們應(yīng)該怎么將項(xiàng)目打包,并部署到服務(wù)器上呢?

工具

IntelliJ IDEA 16
JDK 1.8
Maven 3.5
Tomcat 1.8

將項(xiàng)目打成war包并部署到Tomcat中

1、首先打開我們的pom.xml文件,修改其中的配置

<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>SNAPSHOT</version>
<packaging>war</packaging>

將<packaging>標(biāo)簽中的值修改為“war”,這樣我們導(dǎo)出時(shí),就會(huì)得到一個(gè) xxx.war的文件了

2、然后我們再在pom.xml文件中添加Tomcat的依賴

<dependencies>
...
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
...
</dependencies>

其中需要添加<scope>provided</scope>

3、修改啟動(dòng)類
通常我們的啟動(dòng)類如下


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

現(xiàn)在我們需要讓啟動(dòng)類繼承SpringBootServletInitializer類,并重寫configur方法,代碼如下


@SpringBootApplication
public class DemoApplication extends  SpringBootServletInitializer{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DemoApplication.class);
    }

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

如果要發(fā)布到自己的Tomcat中的時(shí)候,需要繼承SpringBootServletInitializer類,并且重寫configure方法。
如果不發(fā)布到自己的Tomcat中的時(shí)候,就無需上述的步驟

4、選擇IDEA菜單 Run - - Rebuild Project

5、然后再選擇菜單 Run - - Build Atifacts...

6、在彈出的菜單中選擇 All Atrifacts - - Build

7、執(zhí)行之后我們可以在項(xiàng)目的target目錄下看到如圖所示的文件(demo-SNAPSHOT.war)

8、將此文件拷貝到我們的Tomcat的webapps目錄下,刪除文件名后的版本信息,只保留項(xiàng)目名稱(修改demo-SNAPSHOT.war 為demo.war)

9、運(yùn)行Tomcat 的bin目錄下的startup.bat,我們可以看到webapps目錄下的war包被自動(dòng)解壓成一個(gè)文件

10、訪問項(xiàng)目:http://localhost:8080/demo/profile


現(xiàn)在我們可以發(fā)現(xiàn)我們項(xiàng)目中使用的webjars模板并沒有起到應(yīng)有的效果。通過瀏覽器中使用 F12 (開發(fā)者工具)我們可以看到控制臺(tái)中的錯(cuò)誤信息,是因?yàn)檎也坏?webjars/jquery/2.1.4/jquery.js 和 webjars/materializecss/0.96.0/css/materialize.css文件.

通過觀察我們可以發(fā)現(xiàn),這三個(gè)路徑中缺少了項(xiàng)目名稱 “demo”,實(shí)際訪問路徑應(yīng)該為:

http://127.0.0.1:8080/demo/....

檢查我們default.html文件如下:

 <link href="/webjars/materializecss/0.96.0/css/materialize.css" type="text/css" rel="stylesheet" media="screen,projetion"/>
<script src="/webjars/jquery/2.1.4/jquery.js"></script>
<script src="/webjars/materializecss/0.96.0/js/materialize.js"></script>

去掉上述路徑之前的“/”,如下:

 <link href="webjars/materializecss/0.96.0/css/materialize.css" type="text/css" rel="stylesheet" media="screen,projetion"/>
<script src="webjars/jquery/2.1.4/jquery.js"></script>
<script src="webjars/materializecss/0.96.0/js/materialize.js"></script>

然后再訪問:http://localhost:8080/demo/profile , 我們即可看到美麗的頁面了。

上一篇Spring Boot框架開發(fā)Web項(xiàng)目之八 表單校驗(yàn)

下一篇Spring Boot 框架開發(fā)Web項(xiàng)目之十 整合MongoDB

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容