为gradle项目配置多种开发环境
项目开发中,通常有多个环境,一个是用于本地调试的开发环境,另一个是用于对外发布的生产环境。 在本地开发环境中,使用本地安装的数据库,在生产环境中使用生产环境的数据库。这样就能避免本地调试不当导致对生产环境数据造成破坏.使用gradle可以轻松配置多个开发环境,简单配置之后,用户只需修改一项配置文件即可切换数据库环境。
思路
大致思路如下:
- 在
src/main/
下建立多个资源文件夹,用于区别不同环境下的配置信息,比如src/main/resources-dev
,src/main/resources-prod
- gradle读取
gradle.properties
确定使用哪种环境 - gradle根据项目环境自动引入相应环境的配置文件,比如在dev环境下,引入
src/main/resources-dev
,在prod环境下,则引入src/main/resources-prod
下面看具体实现
gradle.properties
定义开发环境
在gradle.properties
文件中,定义一个配置项。gradle启动时会自动读取这个文件,在项目的build.gradle
可以直接获取这个属性
1 |
|
配置build.gradle
在build.gradle
中定义sourceSets
,根据env
的值选择resource
,最后提供了一个闭包读取jdbc-mysql.properties
的值,通常在数据库配置的task里调用这个闭包,使用mybatis-generator
,flywaydb
等插件时需要数据库信息,调用这个闭包就可以获取了。
1 |
|
在spring等项目中就可以使用了:
1 |
|
demo
此功能已经集成到了ssm-easy-template,欢迎下载。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!