dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.3.RELEASE")
apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'spring-boot'
apply plugin: 'maven'
sourceCompatibility = 1.8
compileJava.options.encoding = 'UTF-8'
group = 'com.101tec'
// Options for naming the JAR file
archivesBaseName = 'trackr-backend'
version = '1.0'
if(project.hasProperty('teamcity')) {
version += '-build-' + project.teamcity['build.number']
} else {
version += '-localbuild'
sourceCompatibility = 1.8
repositories {
mavenCentral()
springBoot {
executable = true
dependencies {
compile "org.springframework.boot:spring-boot-starter-data-rest"
compile "org.springframework.boot:spring-boot-starter-data-jpa"
compile "org.springframework.boot:spring-boot-starter-mail"
compile "org.springframework.boot:spring-boot-starter-integration"
compile "org.springframework.boot:spring-boot-starter-security"
// not included in boot
compile "org.springframework.integration:spring-integration-mail:4.2.5.RELEASE"
compile "org.springframework.security.oauth:spring-security-oauth2:2.0.11.RELEASE"
compile "com.h2database:h2"
compile "postgresql:postgresql:9.1-901.jdbc4"
compile "org.flywaydb:flyway-core"
compile("org.xhtmlrenderer:flying-saucer-pdf-itext5:9.0.6")
compile("org.thymeleaf:thymeleaf:2.1.3.RELEASE")
compile "org.projectlombok:lombok:1.12.4"
compile "org.glassfish:javax.json:1.0"
testCompile "org.springframework.boot:spring-boot-starter-test"
testCompile("org.echocat.jomon:testing:1.4.3") {
exclude group: "org.mockito"
testCompile "org.mockito:mockito-core:1.9.5"
testCompile "com.jayway.jsonpath:json-path"
testCompile "org.apache.httpcomponents:httpclient"
task wrapper(type: Wrapper) {
gradleVersion = '2.2'
task createPom << {
pom {
project {
groupId 'com.lockbur'
artifactId 'lockbur-server'
version '1.0.0-SNAPSHOT'
inceptionYear '2008'
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}.writeTo("$buildDir/pom.xml")
你可把这个createPom的task改成任何你自己喜欢的名字,如createPom、mavenPom、testPom等,然后只需要执行
gradle clean
grale build
甚至更简单的执行
gradle createPom
执行成功如图
生成后的pom文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lockbur</groupId>
<artifactId>lockbur-server</artifactId>
<version>1.0.0</version>
<inceptionYear>2008</inceptionYear>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<dependencies>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mail</artifactId>
<version>4.2.5.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf-itext5</artifactId>
<version>9.0.6</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901.jdbc4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.echocat.jomon</groupId>
<artifactId>testing</artifactId>
<version>1.4.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>2.1.3.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-integration</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.12.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.0.11.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
使用gradle构建的springboot项目在IDEA根据不同的开发人员读取不同的配置文件
使用gradle构建的springboot项目在IDEA根据不同的开发人员读取不同的配置文件