从 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"
我发现了很多类似的问题,但是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"