我正在尝试在我的Spring Boot项目构建中实现一个简单的方案:包括/排除依赖项以及根据环境打包战争或jar。
因此,例如,对于环境dev
包括devtools和package jar,对于prod
包war等。
我知道它不再是基于XML的配置了,我基本上可以在build.gradle中编写if语句,但是有没有推荐的方法来实现这一点?
我可以声明一些常见的依赖项并将它们引用在一个文件中,而不是创建多个构建文件吗?
是否有最佳实践,可以根据构建目标环境更改构建配置?
ext {
devDependencies = [‘org.foo:dep1:1.0’, ‘org.foo:dep2:1.0’]
prodDependencies = [‘org.foo:dep3:1.0’, ‘org.foo:dep4:1.0’]
isProd = System.properties[‘env’] == ‘prod’
isDev = System.properties[‘env’] == ‘dev’
}
apply plugin: 'java'
dependencies {
compile 'org.foo:common:1.0'
if (isProd) {
compile prodDependencies
}
if (isDev) {
compile devDependencies
}
}
if (isDev) tasks.withType(War).all { it.enabled = false }