如何从不同的模块访问播放配置

Posted

技术标签:

【中文标题】如何从不同的模块访问播放配置【英文标题】:How to access play configuration from a different module 【发布时间】:2014-08-13 20:16:36 【问题描述】:

我有一个多模块 sbt 应用程序,其中一个模块是一个播放应用程序。

所以我的模块布局是这样的:

/模块1/ /模块2/ /module-web

现在在我的其他模块中,我正在使用类型安全配置库 (com.typesafe.config)。

现在我有一个模块 module3,它将在我的 module-web (play) 中使用,它也将在另一个项目中使用。我将同步 application.conf 以便在 play 项目和其他项目中都相同。

我的问题是,如何从 module3 内部访问 play application.conf?

module3 没有 play framework 作为依赖,只有 typesaf 配置库。

我知道游戏可以让你做到:

Play.current.configuration.getString("db.driver")

有没有类似但没有使用Play.current 方法的东西?

【问题讨论】:

【参考方案1】:

您可以使用ConfigFactory 类(很可能load 方法会满足您的需求,您也可以查看 parseString/parseFile 方法),然后调用 toConfig():

import com.typesafe.config.ConfigFactory
import play.api.Configuration

val config = new Configuration(ConfigFactory.load())
config.getString("db.driver") ..etc

【讨论】:

以上是关于如何从不同的模块访问播放配置的主要内容,如果未能解决你的问题,请参考以下文章

如果应用程序有多个登录页面,如何使用安全模块(播放框架)

thinkphp3.2 不同入口文件如何进入默认的模块和控制器

在不同目录中播放框架自定义模块

如何配置不同的 ALSA 默认值以通过一台设备捕获并通过另一台设备播放?

如何从两个不同的 IOC 容器中解析单例实例 [关闭]

如何在 android 5.1 上从接收器播放音乐,它与 android 4.2 不同