我正在尝试建立一个图书馆。我的build.gradle文件中有Spring Boot Gradle插件:
plugins {
id 'org.springframework.boot' version '2.1.3.RELEASE'
}
我的图书馆没有主班。为了防止出现“未配置主类...”错误,我将其添加到build.gradle中:
bootRepackage {
enabled = false
}
但出现错误:
评估根项目“ mysuperlibrary”时出现问题。
在根目录上找不到参数[build_3886uiniuyuorta9lpa9n4f5c $ _run_closure3 @ 1975ec48]的方法bootRepackage() org.gradle.api.Project类型的项目“ mysuperlibrary”。
在Spring boot Gradle Plugin 1.5.16上一切正常,但在2.1.3下不起作用。
更新:我使用此插件是因为没有它我将无法解析testCompile'org.springframework.boot:spring-boot-starter-test'。当我删除插件时,我可以构建的项目位依赖项就消失了。
答案 0 :(得分:1)
更新:
只需删除插件并直接添加测试依赖项即可。例如。使用JUnit 5:
dependencies {
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.1'
....
testImplementation(
"org.junit.jupiter:junit-jupiter-api:$jUnitVersion",
"org.junit.jupiter:junit-jupiter-params:$jUnitVersion"
)
testRuntimeOnly(
"org.junit.jupiter:junit-jupiter-engine:$jUnitVersion"
)
test {
useJUnitPlatform()
}
}
旧的(适用于多模块项目): 您可以使用apply标志:
plugins {
id 'org.springframework.boot' version '2.1.3.RELEASE' apply: false
}
并编写一个函数
def isAbstract(project) {
return ['mysuperlibrary'].contains(project.name)
}
subprojects { project ->
if (isAbstract(project) {
return
}
apply plugin: 'org.springframework.boot'
}
答案 1 :(得分:1)
现在我在所有库中都使用2.1。*版本的spring插件。有必要在“依赖项”部分之前添加下一个:
bootJar {
enabled = false
}
jar {
enabled = true
}
答案 2 :(得分:0)
可能是这样的:
tasks {
bootJar { mainClassName = "NONE" }
}