多Gradle项目中authorization-server子项目执行build后未生成build/libs目录及Jar包的问题求助
我正在基于Magnus Larsson第二版的书籍做Spring Boot项目,使用的是gradle 8.11。项目采用多模块结构,我在根目录执行./gradlew clean build -x test来构建所有子模块的Jar包,其他子模块的Jar都会正常生成在各自的build/libs目录里。
现在遇到了棘手的问题:我新增了一个名为authorization-server的子项目,它使用的是Spring Boot 2.4.4版本,而其他项目统一用的是2.6.7版本。执行上述构建命令后,这个子项目里完全没有生成build/libs目录,自然也拿不到对应的Jar包。我已经在根目录的settings.gradle里通过include ':spring-cloud:authorization-server'把这个子项目正确包含进去了。
会不会是Spring Boot版本不一致导致的这个问题?
我卡这个问题好久了,而且我本身对Gradle不太熟悉,实在摸不清哪里出了问题,恳请大家帮忙排查解决!
下面是这个子项目的配置文件内容:
authorization-server的settings.gradle内容:
rootProject.name = 'authorization-server'
authorization-server的build.gradle内容:
plugins { // 需等以下问题修复后才能升级到Spring Boot 2.5.x版本: // 1. Spring授权服务相关问题 // 2. Spring Security相关问题 id 'java' id 'org.springframework.boot' version '2.4.4' // id 'io.spring.dependency-management' version '1.1.5' id 'io.spring.dependency-management' version '1.0.11.RELEASE' } group = 'com.abc.xyz.practice.springcloud' version = '1.0.0-SNAPSHOT' sourceCompatibility = '1.8' //java { // toolchain { // languageVersion = JavaLanguageVersion.of(8) // } //} // //jar { // enabled = false //} ext { set('springCloudVersion', "2020.0.2") } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client' implementation 'org.springframework.security.experimental:spring-security-oauth2-authorization-server:0.1.0' testImplementation 'org.springframework.boot:spring-boot-starter-test' } dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" } } test { useJUnitPlatform() }
补充说明:
- 这个子项目的build目录里能看到
classes、generated等其他文件夹,唯独缺少libs目录 - 执行
./gradlew clean build -x test命令全程没有报错,显示执行成功 - 其他子项目的Jar包都和往常一样正常生成
备注:内容来源于stack exchange,提问作者Python_user
相关产品推荐
相关产品推荐

