使用gradle从spring boot 1.5.3构建可执行文件.jar

时间:2018-08-08 14:24:28

标签: java spring spring-boot gradle build.gradle

我有一个spring boot项目(1.5.3版本),并使用gradle 4.4。 我将构建一个.jar可执行文件,以在Linux服务器上安装服务。 但是我在生成可执行.jar文件时遇到问题。

  buildscript {
    ext {
        springBootVersion = '1.5.8.RELEASE'
        //springBootVersion = '2.0.3.RELEASE'
    }
    repositories {
        mavenCentral()
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'application'

springBoot {
    executable = true
}

group = 'com.mygroup'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

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


dependencies {
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-security')
    compile('org.springframework.boot:spring-boot-starter-thymeleaf')
    compile("org.springframework.boot:spring-boot-starter-web")
    compile('org.thymeleaf.extras:thymeleaf-extras-springsecurity4')
    compile group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.371'
    compile group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.370'
    runtime('org.springframework.boot:spring-boot-devtools')
    runtime('mysql:mysql-connector-java')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    testCompile('org.springframework.security:spring-security-test')
    testCompile('com.jayway.jsonpath:json-path')

}

我如何生成.jar?

2 个答案:

答案 0 :(得分:0)

缺少启动jar依赖项。

在build.gradle中添加它:

bootJar {
    baseName = 'application-name'
    version =  '1.0.0'
}
终端中的

命令:

gradle bootjar

答案 1 :(得分:0)

您可以尝试以下操作:

plugins {
id 'java'
id "maven-publish"
}
publishing {
publications {
    maven(MavenPublication) {
        groupId = 'com.your.project'
        version = '0.0.1-SNAPSHOT'
        from components.java
    }
  }
}

repositories {
   mavenCentral()
 }

并运行命令

gradle publishToMavenLocal

jar文件将在本地Maven存储库中生成。