【问题标题】:Resolve properties from external file in build.sbt从 build.sbt 中的外部文件解析属性
【发布时间】:2016-04-02 00:53:35
【问题描述】:

我的project/build.sbt

libraryDependencies += "com.typesafe" % "config" % "1.2.1"

我的application.properties(在项目根目录):

key=value

我的根build.sbt

import com.typesafe.config.ConfigFactory

val projectName = "ai"
name := projectName

val projectVersion = "1.0.0"
version := projectVersion

scalaVersion := "2.11.7"

libraryDependencies ++= List(
    "org.scala-lang" % "scala-swing" % "2.11.0-M7",
    "org.reflections" % "reflections" % "0.9.10",
    "io.reactivex" % "rxscala_2.11" % "0.25.0",
    "com.github.tototoshi" %% "scala-csv" % "1.2.2",
    "com.jsuereth" %% "scala-arm" % "1.4"
)

val conf = ConfigFactory.load()

assemblyOutputPath in assembly := new  File(s"target/${conf.getString("key")}-$projectVersion.jar")

当我在 SBT 控制台中运行 assembly 时,我得到 [error] (*:assembly::assemblyOutputPath) com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'key'

【问题讨论】:

    标签: scala sbt properties-file


    【解决方案1】:

    你有没有把 key=value 放在 application.conf 中??只需在 application.conf 中定义键,因为它在 application.conf 中搜索键的值 比如例子

                      key="file_name" 
    

    【讨论】:

    • 再次,我有 application.properties 包含 key=value。将其重命名为 application.conf 也不起作用。
    • 您只有一个配置文件或有多个。能否请您复制与 application.conf 中相同的 key=value。
    • 一旦将 application.conf 放入资源文件夹,然后尝试它的工作,我现在就这样做,它的工作原理。
    • 放入project/,可能是project/src/main/resources
    猜你喜欢
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 2022-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多