繁体   English   中英

添加单个文件以gradle资源

[英]Add a single file to gradle resources

我正在使用heroku的config var插件(请参阅https://devcenter.heroku.com/articles/config-vars )。

它允许我使用.env文件,我不推送源代码控制来定义heroku环境。

因此,当我在heroku上时,我可以通过System.properties访问合理的信息。

在开发中,我想从这个文件中读取,所以如果它在我的类路径上是最好的。

.env文件是我项目的根目录,所以我不能使用这样的东西:

sourceSets {
    main {
        resources {
            srcDirs = ['src/main/resources', '/']
        }
    }
}

将单个文件包含到gradle资源中的最简单方法是什么?

之前的答案似乎比我希望的更复杂,所以我在gradle论坛上询问并得到了Sterling Green的答复,他是摇篮核心开发者之一。

他建议直接配置processResources

processResources {
   from(".env") 
}

他还提到将项目根作为输入直接包含在内可能是一个坏主意。

在将此前的答案与其他网站的其他提示合并后,我提出了以下解决方案:

sourceSets {
  specRes {
    resources {
      srcDir 'extra-dir'
      include 'extrafiles/or-just-one-file.*'
    }
  }
  main.resources {
    srcDir 'src/standard/resources'
    srcDir specRes.resources
  }
}
processResources {
  rename 'some.file', 'META-INF/possible-way-to-rename.txt'
}

我仍然想知道是否有更好的方法。

我最终做的是将项目根目录添加为资源文件夹,仅包含我感兴趣的文件:

sourceSets.main.resources { srcDir file('.') include '.env' }

似乎可以做到这一点。 我想知道这是否是最好的解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM