从 build.sbt 中读取 application.conf

read application.conf from build.sbt

我发现了很多类似的问题,但是some of them are unanswered and others不适合我。
我的任务是从 build.sbt 读取 application.conf,将所有配置保存在一个地方。但是我的 build.sbt 代码

import com.typesafe.config._

val conf = com.typesafe.config.ConfigFactory.parseFile(new File("conf/application.conf")).resolve()

version := conf.getString("app.version")

不要编译错误

error: object typesafe is not a member of package com

如何解决这个问题?

要完成这项工作,重要的是要知道 sbt 项目具有递归结构,因此当您 运行 sbt 时,您实际上启动了一个项目,该项目的根文件夹是您的 project 文件夹根项目。

鉴于此,要解决您的问题,您还需要为您的 sbt 项目添加 typesafe-config 作为库依赖项;为此,请在根项目的 project 文件夹中添加一个 build.sbt,并像往常一样在其中指定依赖项(即 libraryDependencies += ...)。

在您的代码中使用它

import com.typesafe.config.{Config, ConfigFactory}
private val config = ConfigFactory.load()

并在您的 build.sbt 文件中

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