Gradle 在没有主类的情况下构建 Spring Boot 库

Ric*_*ard 12 java spring jar gradle spring-boot

我正在尝试构建一个 Spring Boot/Gradle 项目并创建一个没有主类的 jar。我的目的是这个项目是一个会被其他项目拉入的库,因此库项目不需要主类来运行。不幸的是,无论我编写什么样的 gradle 配置,当我尝试build install关于没有主类或无法找到bootJar任务时,都会不断收到错误消息。

这是我的 gradle 文件的样子:

plugins {
    id 'org.springframework.boot' version '2.1.7.RELEASE' apply false
}

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

dependencyManagement {
    imports {
        mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
    }
}

repositories {
    mavenCentral()
}

jar {
    enabled = true
}

bootJar.dependsOn fooTask
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我收到以下错误:

无法获取类型为 org.gradle.api.Project 的根项目“foo-library”的未知属性“bootJar”。

我的配置需要改变什么?

Jon*_*ohx 22

在你的文件中禁用bootJarbuild.gradle

bootJar {
   enabled = false
}
Run Code Online (Sandbox Code Playgroud)

  • 不,这不会创建,但是谁创建了 jar 是这个任务`jar {enabled = true}` (2认同)
  • 你是从你的父“build.gradle”构建的吗?正确的?如果是,那么您需要在父 build.gradle 中添加 `bootJar { mainClassName = 'NONE' }`。 (2认同)