Gradle - 从Spring Boot项目创建Jar,它只包含.class文件

时间:2017-07-11 06:14:30

标签: spring-boot gradle

我有Gradle的问题。我有一个简单的弹簧启动项目,我想只用内部的包和.class文件来jar它。我现在收到的是3个文件夹BOOT-INF,META-INF和org.springframework.boot.loader。

2 个答案:

答案 0 :(得分:0)

您需要删除gradle插件。它只在你想要构建一个spring boot应用程序时才有用。

以下是如何构建库(但仍然使用spring boot):

buildscript {
  ext {
    springBootVersion = '1.5.2.RELEASE'
    dependencyManagementPluginVersion = '1.0.1.RELEASE'
  }

  repositories {
    mavenLocal()
    mavenCentral()
  }

  dependencies {
    classpath "io.spring.gradle:dependency-management-plugin:$dependencyManagementPluginVersion"
  }
}

repositories {
    mavenLocal()
    mavenCentral()
}

apply plugin: 'io.spring.dependency-management'

dependencyManagement {
  imports {
    mavenBom "org.springframework.boot:spring-boot-starter-parent:$springBootVersion"
  }
}

dependencies {
  compile 'org.springframework.boot:spring-boot-starter-web' // no need to specify version
}

答案 1 :(得分:0)

如果您正在创建Spring-boot项目的.jar工件,并希望将其用作另一个应用程序中的外部依赖项(例如,引用其中的main类),则可以将其添加到.jar发布配置之外,您的Boot应用程序的build.gradle文件:

bootRepackage  {
    classifier = 'exec'
}

(来源:https://github.com/spring-projects/spring-boot/commit/6565ff616a827c22b4235d8ce2fb9a94eb4ad4c8?short_path=1c5002a#diff-1c5002aface9c68d53c46740b5f095e5