有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在使用Gradle创建War期间更改某些应用程序属性?

我正在构建一个web应用程序。我有几个用于部署的环境,比如:本地、开发、stg、prod

假设我的application.properties文件如下

foo.bar = fooBar
foo.another = another
foo.var = fooVar

我的application-dev.properties如下

foo.var = fooDevEnv

我想要application.properties,它将包括在warfordev环境中,如下所示:

foo.bar = fooBar
foo.another = another
foo.var = fooDevEnv #this should comes from application-dev.properties 

我怎么能和gradle这样做

我目前的解决方案是在单独的文件夹中为每个环境创建单独的文件,然后在构建战争期间进行复制。但问题是我必须复制每个文件中的所有公共属性。脚本如下:

def env = project.properties['env'] ?: "local"
war {
    webInf {
        from('./config/' + env) {
            include 'application.properties' into 'classes'
        }
    }
    archiveName = 'my-app-' + env + '.war'
}

我正在使用Gradle4.1


共 (0) 个答案