gpt4 book ai didi

java - Play Framework 2.3.8 Java - 使用特定模式覆盖默认配置加载

转载 作者:行者123 更新时间:2023-11-30 08:04:44 25 4
gpt4 key购买 nike

我想使用 Java 在 Play Framework 2.3.8 中实现模式特定的配置加载。我知道这在 Scala 中是可以实现的:

import java.io.File
import play.api._
import com.typesafe.config.ConfigFactory

object Global extends GlobalSettings {
override def onLoadConfig(config: Configuration, path: File, classloader: ClassLoader, mode: Mode.Mode): Configuration = {
val modeSpecificConfig = config ++ Configuration(ConfigFactory.load(s"application.${mode.toString.toLowerCase}.conf"))
super.onLoadConfig(modeSpecificConfig, path, classloader, mode)
}
}

目前我设法在 java 中实现相同的功能,但无法从 com.typesafe.config.Config 强制转换 typesafe-s ConfigFactory.load(modeSpecificConfigFile) 返回对象到play.Configuration:

 @Override
public Configuration onLoadConfig(Configuration configuration, File file, ClassLoader classLoader, Mode mode) {
String modeSpecificConfigFile = "application." + mode.toString().toLowerCase() + ".conf";
Logger.debug("Loading mode specific configuration from: " + modeSpecificConfigFile);
Configuration modeSpecificConfig = ConfigFactory.load(modeSpecificConfigFile);
return super.onLoadConfig(modeSpecificConfig , file, classLoader);
}

谢谢!

最佳答案

将其包装到play.Configuration中:

Configuration modeSpecificConfig = new play.Configuration(ConfigFactory.load(modeSpecificConfigFile)); 

关于java - Play Framework 2.3.8 Java - 使用特定模式覆盖默认配置加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31294723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com