学科分类
目录
Spring Boot开发

Jar包方式打包部署

由于Spring Boot应用中已经嵌入了Tomcat服务器,所以将Spring Boot应用以默认Jar包形式进行打包部署非常简单和方便。这里,以创建好的chapter05项目为例,在IDEA开发工具中进行打包部署,具体操作如下所示。

1. Jar包方式打包

(1)添加Maven打包插件。在对Spring Boot项目进行打包(包括Jar包和War包)前,需要在项目pom.xml文件中加入Maven打包插件,Spring Boot为项目打包提供了整合后的Maven打包插件spring-boot-maven-plugin,可以直接使用,示例代码如下。

<build>
    <plugins>
        <!-- Maven打包插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

(2)使用IDEA开发工具进行打包。IDEA开发工具,除了提供Java开发的便利之外,还提供了非常好的项目打包支持,具体操作详见图1所示。

图1 IDEA工具下进行项目打包

在图1中,使用IDEA开发工具对Spring Boot项目进行打包时,首先需要单击界面左下角的小窗口img图标,打开界面右侧边框视图栏;接着,单击右侧边框的“Maven”视图,打开对应的项目操作窗口;然后,在“Maven”视图对应的操作窗口中,选择项目目录下Lifecycle目录中的package选项,直接双击就可以进行项目打包了。

根据上述操作说明,双击package选项执行打包后,控制台就会显示打包运行过程以及最终的打包结果,效果如图2所示。

图2 IDEA工具下项目打包执行效果

在图2中,控制台Run界面中最终显示出了“BUILD SUCCESS”的信息,这说明Spring Boot项目打包成功。同时,控制台Run界面中显示的信息“Building jar: F:\Spring Boot\workspace\chapter05\target\chapter05-0.0.1-SNAPSHOT.jar”是Jar包的具体存放路径以及名称。

与此同时,还可以打开IDEA开发工具下项目的target目录查看打成的Jar包,效果如图3所示。

图3 IDEA工具下项目打包执行效果

(3)Jar包目录结构展示说明。为了更加清楚Spring Boot中打成Jar包具体目录结构,找到打成Jar包的具体位置,右键Jar包名称使用压缩软件打开并进入到BOOT-INF目录下,效果如图4所示。

图4 Jar包目录结构

在图4中,打成的Jar包BOOT-INF目录下有lib和classes两个目录文件。其中,lib目录下对应着所有添加的依赖文件导入的jar文件;classes目录下对应着项目打包编译后的所有文件。查看BOOT-INF目录下的lib目录,效果如图5所示。

图5 Jar包中自动导入的jar文件

在图5中,Spring Boot项目打成Jar包后,自动引入需要的各种jar文件,这也印证了第1章中1.4.1小节讲解分析的Spring Boot依赖管理,在加入相关依赖文件后,项目会自动加载所有相关的jar文件。另外, lib目录下还包括tomcat相关的jar文件,并且名字中包含有“tomcat-embed”字样,这是Spring Boot项目对内嵌Tomcat提供的支持。

2. Jar包方式部署

借助IDEA开发工具快速进行Jar包项目的部署,具体操作详见图6所示。

图6 IDEA工具下进行项目部署

在图6中,先在IDEA开发工具控制台上单击切换到Terminal终端界面,该界面会默认打开项目所在位置(F:\Spring Boot\workspace\chapter05>);然后,在项目所在位置后的指令输入提示位置直接使用“java -jar xxx.jar”的指令部署启动对应Jar包。本示例chapter05项目的Jar包部署指令,示例代码如下。

java -jar target\chapter05-0.0.1-SNAPSHOT.jar

执行完上述指令后,Terminal终端界面界面就会启动Spring Boot项目,效果如图7所示。

图7 IDEA工具下进行项目部署

从图7可以看出,Spring Boot项目打成的Jar已经正确启动,并显示了默认的端口号8080。执行成功后,就可以对项目进行访问。

需要说明的是,这里演示的是通过IDEA开发工具提供的Terminal终端界面进行快速的Jar包部署,除此之外,还可以使用系统自带的终端窗口进行项目Jar包部署启动。另外,在项目部署过程中,一定要保证执行的xxx.jar包可以找到并且路径中没有特殊字符(例如空格)。

点击此处
隐藏目录