gradle - 如何根据命令行参数将文件复制到WAR类路径中?

标签 gradle build classpath environment

我正在使用Gradle 2.7。我的建筑中有以下文件”

src/main/environment/dev/aws.properties
src/main/environment/qa/aws.properties
src/main/environment/prod/aws.properties

如何根据有人在执行构建时是否在命令行上指定环境(例如gradle build -Penv=qa)将文件复制到组装的WAR类路径中?如果未指定-Penv=xxx标志,则希望将src/main/environment/dev/aws.properties文件复制到类路径中。

最佳答案

这将是:

war {
   def env = project.hasProperty('env') ? project.env : 'dev'
   from("src/main/environment/$env") {
      include('aws.properties')
      into('WEB-INF/classes')
   }
}

如果您在其他地方需要env,则可以在脚本开头定义它。如果已将src/main/environment添加到源集中,则可以使用它代替路径。

关于gradle - 如何根据命令行参数将文件复制到WAR类路径中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33741970/

相关文章:

android - 修复 Gradle 中的依赖解析错误

c++ - 了解 find_package 是否定义 INCLUDE_DIR 或 INCLUDE_DIRS 的标准方法

android - '建议清理和 build 所有项目'

java - 将外部 JAR 添加到 OpenJDK

java - Web 应用程序类路径和类加载到堆中

java - 包不存在错误?

java - 构建一个简单的Android应用> Android基本编程> Red Rs和缺少资源标签

java - Android Studio 3.0 DexArchiveBuilderException

git - 如何使用ajoberstar/reckon和Bitbucket Pipelines配置自动语义版本控制?

java - gradle publish 不包含 pom 中的依赖项