Sbt 在生成中未定义默认值时,命令行上设置的设置值?

Sbt 在生成中未定义默认值时,命令行上设置的设置值?,sbt,Sbt,我正在编写一个需要特定设置的插件:configUrl 如果在我的build.conf中指定该设置,它将如下所示: MyPlugin.configUrl := "http://..../..." sbt config-url="http://..../..." 然后,我可以使用命令行执行以下操作: sbt 'set MyPlugin.configUrl := "http://..../..."' performAction 有没有更好的方法可以让我不在构建中使用该设置 如果在没有该设置的情况

我正在编写一个需要特定设置的插件:
configUrl

如果在我的
build.conf
中指定该设置,它将如下所示:

MyPlugin.configUrl := "http://..../..."
sbt config-url="http://..../..."
然后,我可以使用命令行执行以下操作:

sbt 'set MyPlugin.configUrl := "http://..../..."' performAction
有没有更好的方法可以让我不在构建中使用该设置

如果在没有该设置的情况下启动
sbt
,则会出现以下错误:

[error] Reference to undefined setting: 
[error] 
[error]   *:config-url from *:application-configuration
我搜索了google,但找不到在命令行上提供设置的方法,如下所示:

MyPlugin.configUrl := "http://..../..."
sbt config-url="http://..../..."

如果设置有默认值,则应在插件中设置该默认值。如果没有,则类型可能应该是
选项[…]
,默认值为
None
。通常,构建不应该只需要从命令行传递参数就可以加载

最后,如果主要是您不喜欢的
set
语法,则可以使用系统属性并从设置中读取系统属性。但是,这仅限于字符串,因此您将失去类型安全性

可以通过命令行上的
-Dkey=value
设置系统属性(直接或在启动脚本中):

(根据壳牌公司的需要报价)。要将此值拉入设置中,请执行以下操作:

MyPlugin.configUrl := 
  url(System.getProperty("config.url", "<default>"))