我的应用程序具有如下一般项目结构:
src/main/groovy
<Groovy files>
src/main/resources
config.dev.xml
config.qa.xml
config.live.xml
build.gradle
gradle.properties
settings.gradle
在我的Gradle构建中,我使用Shadow Plugin通过运行以下命令来生成“胖JAR”(独立可执行文件):
gradle clean build shadowJar
这将产生一个新的
build
目录,如下所示:src/main/groovy
<Groovy files>
src/main/resources
config.dev.xml
config.qa.xml
config.live.xml
build.gradle
gradle.properties
settings.gradle
build/
distributions/
myapp-standalone.jar
我希望能够指定应将哪个配置文件复制到此
build/distributions
目录,并且希望在命令本身中指定此配置文件。所以像:gradle clean build shadowJar -Pconfig=dev
要么:
gradle clean build shadowJar copyLive
等等。但是我是Gradle的新手,不知道这里有哪些约定,或者最好的方法是什么。最终结果将是(在选择
config.dev.xml
的情况下),该生成将生成:build/
distributions/
myapp-standalone.jar
config.dev.xml
质量检查,直播等也一样...
有想法吗?
最佳答案
当您阅读here时,可以使用gradle clean build shadowJar -Pconfig=dev
设置属性,然后使用config
进行访问。
当您想阅读它时,可以执行以下操作:
if (project.hasProperty('config') && config == dev) {
println config
}
关于plugins - 如何使用Gradle选择正确的配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25378493/