Spring Boot为Gradle和Maven提供了构建插件,以便辅助构建Spring Boot项目。下面是Spring Boot的Gradle创建的build.gradle文件:
buildscript
{
ext
{
springBootVersion='1.3.0.RELEASE'
}
repositories
{
mavenCentral()
}
dependencies
{
classpath("org.springframework.boot:spring-boot-gradle-plugin:$(springBootVersion)")
}
}
apply plugin:'java'
apply plugin:'eclipse'
apply plugin:'idea'
apply plugin:'spring-boot'
jar
{
baseName='readinglist'
version='0.0.1-SNAPSHOT'
}
sourceCompatibility=1.7
targetCompatibility=1.7
repositories
{
mavenCentral()
}
dependencies
{
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
runtime("com.h2database:h2")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
eclipse
{
classpath
{
containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
container 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/javaSE-1.78'
}
}
task wrapper(type:Wrapper)
{
gradleVersion='1.12'
}
另一方面,要是选择Maven来构建应用程序,Initializer会替你生成一个pom.xml文件,使用了Spring Boot的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>com.manning</groupId>
<artifactId>readinglist</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ReadingList</name>
<description>Reading List Demo</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>{springBootVersion}</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<start-class>readinglist.Application</start-class>
<java.version>1.7</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
无论选择Gradle还是Maven,Spring Boot的构建插件都对构建过程有所帮组。Gradle的BootRun任务来运行应用程序,Maven插件与之类似,提供了Spring-Boot:run目标能够实现同样的功能。
构建插件的主要功能是把项目打包成一个可执行的超级JAR,包括把应用程序的所有依赖打入JAR文件内,并为JAR添加一个描述文件,其中的内容能够通过java -jar来运行应用程序。