我坚持在Gradle构建脚本中使用点表示法。
我有一个包含主项目和子项目的多项目构建。
然后main build.gradle就是这样的
subprojects {
apply plugin: 'java'
sourceCompatibility = 1.8
dependencies {
compile "org.slf4j:slf4j-api:${project.'slf4j.version'}",
'javax.inject:javax.inject:1'
testCompile 'junit:junit:4.12'
}
}
Web应用程序的子项目就像这样构建
plugins {
id 'org.springframework.boot' version '1.5.3.RELEASE'
id 'eclipse-wtp'
id 'war'
}
dependencies {
compile (project(":${rootProject.name}-API")){transitive=false}
compile "org.springframework.boot:spring-boot-starter",
"org.springframework.boot:spring-boot-starter-security"
}
构建脚本不完整 我发现,可以使用主项目中的gradle.properties来定义版本。
logback.version=1.2.3
slf4j.version=1.7.25
slf4jVersion=1.7.25
spring.version=4.3.8.RELEASE
1。问题
如何使用带点符号的变量?我尝试使用$slf4j.version
,但Gradle构建过程失败。
2。问题
哪里可以找到spring boot插件支持的所有变量的完整列表?我搜索了几个小时没有运气。
1。更新
第一个问题由@Vampire回答
我使用${project.'slf4j.version'}
答案 0 :(得分:3)
使用project.'slf4j.version'
访问名称中包含点的属性,或者project.properties['slf4j.version']
或project.getProperty('slf4j.version')
也可以使用。
答案 1 :(得分:0)
我建议使用versions.slf4j
和versions.logback
等代替slf4j.version
和logback.version
然后你可以这样做:
ext {
versions = [
slf4j: '1.7.25',
logback: '1.2.3'
]
}
dependencies {
compile "org.slf4j:slf4j-api:$versions.slf4j"
}