我正在尝试在我的Spring Boot项目构建中实现一个简单的方案:包括/排除依赖项以及根据环境打包战争或jar。
因此,例如,对于环境dev包括devtools和package jar,对于prod包war等。
dev
prod
我知道它不再是基于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 }