在我的application.conf文件中,我有一个类似的
platform3.operational.state = "development"我服务的对象是
sbt "project p3-s-sink" "run -Dplatform3.operational.state=test"但是配置属性仍然是“开发”。
如何覆盖typesafe设置?
发布于 2015-04-08 08:54:39
也许这个博客能帮你:
不幸的是,sbt run不支持java系统属性,因此在运行sbt时不能使用命令行调整设置。sbt左轮手枪插件允许您在分叉JVM中运行应用程序,它允许您使用命令行传递java参数。
http://blog.michaelhamrah.com/2014/02/leveraging-typesafes-config-library-across-environments/
发布于 2014-12-05 20:59:54
来自JavaDoc of ConfigFactory.systemProperties() [ConfigFactory.java]:
*获取包含来自* {@link java.lang.System#getProperties()}的系统属性的Config,并将其解析和转换为* {@link #parseProperties}。**此方法可以返回全局不可变的单例,因此它是首选的*而不是自己解析系统属性。** {@link #load}将将系统属性包括为已重写的系统属性,以及*将包含的系统属性{@link #defaultReference}和{@link #defaultOverrides}。*因为这返回一个单例,所以它不会注意到在第一次调用该方法后对system *属性所做的更改。如果您*修改系统属性,请使用* {@link #invalidateCache()}强制单例重新加载。**@解析为Config的返回系统属性
注意中间一段:"load将包括系统属性,就像defaultReference和defaultOverrides一样。“
当您直接执行时,它是否像预期的那样工作?
https://stackoverflow.com/questions/26792246
复制相似问题