我正在尝试构建多模块Gradle库。我正在尝试遵循我在官方文档中读到的内容。我在一家公司工作,该公司有自己的nexus存储库,用于存储Spring和其他库
我的项目结构如下多项目
libA
│ ──建筑分级
libB文件
│ ──建筑分级
建立来源
│ ──建筑分级
/src/groovy中的一个或多个
多项目.通用约定.分级
│ ──设置.分级
这个项目涉及到对不同的库使用spring Boot ,依赖关系几乎是一样的。
构建源/构建等级
plugins {
id 'groovy-gradle-plugin'
}
repositories {
gradlePluginPortal()
}
buildSrc/多项目.通用约定.gradle
plugins {
id 'java-library'
id 'maven-publish'
id 'org.springframework.boot'
}
repositories {
mavenCentral()
}
dependencies {
implementation group: 'org.springframework.boot:spring-boot-gradle-plugin'
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-aop'
implementation 'org.springframework.ws:spring-ws-core'
implementation 'org.apache.httpcomponents:httpclient:4.5.13'
implementation 'org.springframework.retry:spring-retry:1.3.1'
implementation 'javax.cache:cache-api:1.1.1'
implementation 'org.ehcache:ehcache:3.10.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.3'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
现在我尝试在一个子模块中使用上述插件,比如libA libA/build.gradle
plugins {
id("multiproject.common-conventions")
id 'org.springframework.boot' version
}
我得到以下异常
org.gradle.api.plugins.UnknownPluginException: Plugin with id 'org.springframework.boot' not found.
当我将版本添加到2.6.4时,得到Invalid plugin request [id: 'org.springframework.boot', version: '2.7.1']. Plugin requests from precompiled scripts must not include a version number. Please remove the version from the offending request and make sure the module containing the requested plugin 'org.springframework.boot' is an implementation dependency.
如何使用buildSrc文件夹和插件DSL设置多模块gradle库以使用通用约定插件?我使用的是gradle 7.3版本。
1条答案
按热度按时间xv8emn3q1#
查看Gradle文档www.example.com的这一部分https://docs.gradle.org/current/userguide/custom_plugins.html#applying_external_plugins_in_precompiled_script_plugins。如此处所述,为了在预编译脚本插件(您的multiproject.common-conventions.gradle)中应用外部插件(在您的示例中为spring-boot-gradle-plugin),必须将其添加到插件构建文件(您的buildSrc/build.gradle文件)中插件项目的实现类路径中。
构建源/构建等级