1 启动项目
(1)可以在当前项目根目录,输入以下命令,启动项目:
gradle bootRun
(2)也可以先用 Gradle 构建项目,然后在命令行中直接使用 java 启动项目:
gradle build
构建成功后,就可以执行以下命令启动项目:
java -jar build/libs/movies-0.0.1-SNAPSHOT.jar
项目默认会启动一个监听 8080 端口的 Tomcat 服务器 。
2 构建原理
我们可以选择 Gradle 或 Maven 作为构建工具 。Spring Boot 为它们都提供了相应的插件。
Spring Initializr 会创建一个 build.gradle 文件,我们可在此对 Gradle 进行配置。
build.gradle:
plugins {
id 'org.springframework.boot' version '2.1.9.RELEASE'
id 'io.spring.dependency-management' version '1.0.8.RELEASE'
id 'java'
}
group = 'net.deniro'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
runtimeOnly 'com.h2database:h2'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
Gradle 构建插件会把项目打包成一个可执行的 JAR (uber-JAR),并把项目所有的依赖包都一并打入该 JAR 文件之内:
它还会为该 JAR 文件添加一个描述文件 MANIFEST.MF,让 java -jar 正确运行项目:
MANIFEST.MF :
Manifest-Version: 1.0
Start-Class: net.deniro.movies.MoviesApplication
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Version: 2.1.9.RELEASE
Main-Class: org.springframework.boot.loader.JarLauncher
属性 | 说明 |
---|---|
Manifest-Version | 定义 manifest 文件的版本号。 |
Start-Class | Spring Boot 项目启动类。 |
Spring-Boot-Classes | Spring Boot 项目类所在路径。 |
Spring-Boot-Libs | Spring Boot 项目依赖库。 |
Spring-Boot-Version | Spring Boot 项目版本号。 |
Main-Class | Spring Boot 项目入口可执行类,它就是命令 java -jar x.jar 启动项目的关键。 |