当前位置: 首页 > 知识库问答 >
问题:

当构建中没有定义默认值时,在命令行上设置的设置值?

牟华翰
2023-03-14

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

如果我在构建中指定该设置。conf如下所示:

MyPlugin.configUrl := "http://..../..."

然后,我可以使用命令行执行以下操作:

sbt 'set MyPlugin.configUrl := "http://..../..."' performAction

有没有更好的方法可以让我在构建中没有那个设置?

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

[error] Reference to undefined setting: 
[error] 
[error]   *:config-url from *:application-configuration

我搜索了google,但找不到在命令行上提供设置的方法,如下所示:

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

共有1个答案

张财
2023-03-14

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

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

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

sbt -Dconfig.url=http://...

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

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

其中<代码>“

MyPlugin.configUrl := 
  for(u <- Option(System.getProperty("config.url"))) yield
    url(u)
 类似资料:
  • 问题内容: 有没有一种方法可以在共享首选项中设置默认值? 这是我的负载偏好代码 这是我的保存偏好代码 问题答案: 当您使用键和值设置首选项时,实际上是在提供该值。因此,这次不必使用默认值。请参见,在检索该值时,如果以前未设置该值,则可以定义一个默认值。 如果您得到strSavedMem1 =“ default”,那么肯定是默认情况,因为您没有在首选项中为MEM1设置任何其他值

  • 我正在创建一个rest方法,它可以使用RequestParam注释处理一个可选参数(在本例中是性别)。但性别值始终被视为空值。(spring Version4.0.0)第二个参数被认为是正确的。 提前谢了。潘卡杰

  • 问题内容: 以下问题有多种答案/技术: 如何为golang结构设置默认值? 如何在Golang中初始化结构 我有几个答案,但需要进一步讨论。 问题答案: 强制方法获取结构(构造方法)。 一个好的设计是使您的类型不导出,但提供一个类似NewMyType()的导出构造函数,您可以在其中正确初始化struct / type。还返回接口类型而不是具体类型,并且该接口应包含其他人希望对您的值进行的操作。当然

  • 以下问题有多种答案/技巧: 如何为golang结构设置默认值? 如何在 golang 中初始化结构 我有几个答案,但需要进一步讨论。

  • 我打算使用JAXB从xsd生成类,并使用xsd中的默认值。但当我将xs:boolean元素的默认值设置为“true”时。该值未设置,我得到空指针异常,因为布尔对象值尚未初始化为true。 我做错了什么?我们可以只为xs:string而不是xs:boolean设置默认值吗? 生成的xml文件是这样的: 当我尝试调用函数时: 或 我得到了空指针错误。虽然在我的代码中我已经处理了这个空值。 我只是好奇为

  • 问题内容: 我正在运行一个非常简单的查询,但是对于某些结果,一个字段中的值为空。如果该值为null,如何将其设置为“字符串”? 就像是 它将在sql server 2005上运行 谢谢 问题答案: 使用以下内容: 或@Lieven指出: COALESCE的动态之处在于您可以定义更多的参数,因此,如果第一个为null,则获取第二个参数,如果第二个为null,则获取第三个,依此类推…