一尘不染

Maven配置文件相当于Gradle

spring-boot

我正在尝试在我的Spring Boot项目构建中实现一个简单的方案:包括/排除依赖项以及根据环境打包战争或jar。

因此,例如,对于环境dev包括devtools和package jar,对于prod包war等。

我知道它不再是基于XML的配置了,我基本上可以在build.gradle中编写if语句,但是有没有推荐的方法来实现这一点?

我可以声明一些常见的依赖项并将它们引用在一个文件中,而不是创建多个构建文件吗?

是否有最佳实践,可以根据构建目标环境更改构建配置?


阅读 331

收藏
2020-05-30

共1个答案

一尘不染

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 }
2020-05-30