Gradle构建不会向包添加版本

时间:2017-12-21 12:10:31

标签: spring spring-boot gradlew

我正在使用Spring Boot 2.0.0.M7Gradle 4.2创建REST微服务。 当我从Eclipse构建或从控制台./gradlew build运行时,build/libs中生成的包名为$app.jar,而不是$app-$version.jar

我错过了什么?我的build.gradle与Spring Boot Docker GS指南相同,此问题阻止生成docker镜像,因为无法找到jar。

这是我的build.gradle文件:

buildscript {
    ext {
        springBootVersion = '2.0.0.M7'
        springCloudVersion = 'Finchley.M5'
        gradleDockerVersion = '0.13.0'
    }
    repositories {
        mavenCentral()
        maven { url 'https://plugins.gradle.org/m2/' }
        maven { url 'https://repo.spring.io/snapshot' }
        maven { url 'https://repo.spring.io/milestone' }
        maven { url 'https://repo.spring.io/libs-milestone' }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath("gradle.plugin.com.palantir.gradle.docker:gradle-docker:${gradleDockerVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'com.palantir.docker'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

jar {
    baseName = 'networks'
    version = '0.9'
}

group = 'test'
sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenCentral()
    maven { url 'https://repo.spring.io/snapshot' }
    maven { url 'https://repo.spring.io/milestone' }
    maven { url 'https://repo.spring.io/libs-milestone' }
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

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-data-rest'
    compile 'org.springframework.boot:spring-boot-starter-json'
    compile 'org.springframework.boot:spring-boot-starter-actuator'
    compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'

    runtime 'org.springframework.boot:spring-boot-devtools'
    runtime 'org.postgresql:postgresql'

    testCompile 'org.springframework.boot:spring-boot-starter-test'
    testCompile 'junit:junit'
}

docker {
    name "${project.group}/${jar.baseName}"
    files jar.archivePath
    buildArgs(['JAR_FILE': "${jar.archiveName}"])
}

1 个答案:

答案 0 :(得分:3)

应在jar之外指定版本:

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'com.palantir.docker'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

version = "0.9"

jar {
    baseName = 'networks'
}