官术网_书友最值得收藏!

1.4 運行與發布

本章實例工程的完整代碼可以使用IDEA直接從GitHub的https://github.com/chen-fromsz/spring-boot-hello.git中檢出,如圖1-15所示,單擊Clone按鈕將整個項目復制到本地。

圖1-15 檢出實例工程

1.4.1 在IDEA環境中運行

在IDEA中打開Run菜單,選擇Edit Configuration打開Run/Debug Configurations對話框,在配置界面的左邊側邊欄中選擇增加一個Application或Spring Boot配置項目,然后在工作目錄中選擇工程所在的根目錄,主程序選擇代碼清單1-3創建的類:springboot.example.Application,并將配置保存為hello,如圖1-16所示。

然后選擇Run或Debug運行hello配置項目。如果啟動成功,將在控制臺中輸出類似如下信息:


"D:\Program Files\Java\jdk1.8.0_25\bin\java"
.....
 :: Spring Boot ::        (v1.3.2.RELEASE)
......
Starting Servlet Engine: Apache Tomcat/8.0.30
......
Tomcat started on port(s): 8080 (http)
......

從上面的輸出中可以看出,Tomcat默認開啟了8080端口。要訪問這個應用提供的服務,可以在瀏覽器的地址欄中輸入http://localhost:8080/。這樣就可以看到我們期望的輸出字符:hello。

圖1-16 Spring Boot應用配置

1.4.2 將應用打包發布

上面操作演示了在IDEA環境中如何運行一個應用。如果我們想把應用發布出去,需要怎么做呢?可以將代碼清單1-1中的Maven配置增加一個發布插件來實現。如代碼清單1-4所示,增加了一個打包插件:spring-boot-maven-plugin,并增加了一行打包的配置:<packaging>jar</packaging>,這行配置指定將應用工程打包成jar文件。

代碼清單1-4 包含打包插件的Maven配置


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
            http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>springboot.example</groupId>
    <artifactId>spring-boot-hello</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.2.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

這樣就可以在IDEA中增加一個打包的配置,打開Run/Debug Configurations對話框,選擇增加配置一個Maven打包項目,在工作目錄中選擇工程所在根目錄,在命令行中輸入package,并將配置保存為mvn,如圖1-17所示。

運行mvn打包項目,就可以將實例工程打包,打包的文件將輸出在工程的target目錄中。

如果已經按照1.1.3節的說明安裝了Maven,也可以直接使用Maven的命令打包。打開一個命令行窗口,將路徑切換到工程根目錄中,直接在命令行輸入mvn package,同樣也能將項目打包成jar文件。執行結果如下:

圖1-17 Maven打包配置


......
[INFO] --- maven-jar-plugin:2.5:jar (default-jar) @ spring-boot-hello ---
[INFO] Building jar: E:\ideworkspace\spring-boot-hello\target\spring-boot-hello-
1.0-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:1.3.2.RELEASE:repackage (default) @ spring-b
oot-hello ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.450 s
[INFO] Finished at: 2016-05-08T16:54:44+08:00
[INFO] Final Memory: 23M/118M
[INFO] ------------------------------------------------------------------------

打包成功后,在工程的target目錄中將會生成jar文件spring-boot-hello-1.0-SNAPSHOT.jar。在命令行窗口中切換到target目錄中,運行如下指令,就能啟動應用。


java -jar spring-boot-hello-1.0-SNAPSHOT.jar

如果希望按照傳統的做法,將工程發布成war文件,應當將代碼清單1-4的Maven配置<packaging>jar</packaging>改成<packaging>war</packaging>,這樣就可以打包成war文件。打包完成后將war文件放置在Tomcat的webapp路徑中,啟動Tomcat就能自動運行程序。

這里需要注意的是,如果自主使用Tomcat運行應用,在安裝JDK時必須配置JAVA_HOME環境變量,同時JDK要求1.8以上的版本,Tomcat必須是8.0以上的版本。

我更加喜歡打包成jar,然后使用Spring Boot的嵌入插件Tomcat運行應用。本書所有實例都可以打包成jar直接運行。即使對于一個包含很多頁面、圖片、腳本等資源的復雜應用系統,這種方法也是可行的,并且打包成jar,更方便項目發布在Docker上運行,這些將在后面的章節中詳細介紹。

主站蜘蛛池模板: 祥云县| 乳山市| 横山县| 库尔勒市| 夏津县| 米脂县| 米泉市| 富裕县| 鲁山县| 广饶县| 金山区| 德保县| 扶绥县| 西峡县| 永泰县| 松江区| 张家口市| 霍城县| 墨竹工卡县| 威远县| 金昌市| 芦山县| 舒城县| 读书| 五家渠市| 临沂市| 房山区| 邓州市| 临城县| 田阳县| 开远市| 罗源县| 新邵县| 河东区| 清流县| 河东区| 滦平县| 巨野县| 韩城市| 两当县| 海兴县|