【问题标题】:Gradle building Spring Boot library without Main ClassGradle 构建没有主类的 Spring Boot 库
【发布时间】:2019-12-30 21:18:50
【问题描述】:

我正在尝试构建一个 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

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

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

我的配置需要改变什么?

【问题讨论】:

    标签: java spring spring-boot gradle jar


    【解决方案1】:

    在你的build.gradle中禁用bootJar

    bootJar {
       enabled = false
    }
    

    【讨论】:

    • 但这会阻止创建我需要的 jar,因此我可以将其拉入另一个项目
    • 不,这不会创建但是谁创建了 jar 是这个任务jar { enabled = true }
    • 我收到错误:Could not find method bootJar() for arguments [build_7m5kgf5tb8ptc46mos1k0piwt$_run_closure23@29435193] on root project 'foo-library' of type org.gradle.api.Project.
    • 你是从你的父母 build.gradle 那里建造的吗?正确的?如果是,则需要在父 build.gradle 中添加 bootJar { mainClassName = 'NONE' }
    猜你喜欢
    • 2018-10-19
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 2020-04-13
    • 2021-11-01
    • 2018-08-25
    • 2017-07-29
    • 2016-04-16
    相关资源
    最近更新 更多