Gradle 构建没有主类的 Spring Boot 库
Posted
技术标签:
【中文标题】Gradle 构建没有主类的 Spring Boot 库【英文标题】:Gradle building Spring Boot library without Main Class 【发布时间】: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”。
我的配置需要改变什么?
【问题讨论】:
【参考方案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'
。以上是关于Gradle 构建没有主类的 Spring Boot 库的主要内容,如果未能解决你的问题,请参考以下文章