2014-09-24 69 views
1

一個對象中有一個com.typesafe.config.Config接口:如何創建一個ConfigValue表示Typesafe.Config

配置withValue(字符串路徑,ConfigValue值); ?現在

假設我想要保存的對象,它的類是由自己定義到配置,我該怎麼辦的功能ConfigValueFactory.fromAnyRef失敗

我的代碼如下所示: val value = Resource(100) config.withValue("resource", ConfigValueFactory.fromAnyRef(value))

這裏是例外:

在方法調用者的錯誤:不是有效的創建ConfigValue來自:資源(100) com.typesafe.config.Conf igException $ BugOrBroken:錯誤的方法調用者:不是有效的創建ConfigValue來自:(ConfigImpl.java:275)資源(100) 在com.typesafe.config.impl.ConfigImpl.fromAnyRef

+0

請描述你到目前爲止嘗試過的。日誌和錯誤會有所幫助。 – JackDev 2014-09-24 02:00:11

+0

我的代碼如下所示:val value = Resource(100); config.withValue(「resource」,ConfigValueFactory.fromAnyRef(value));異常信息爲:方法調用者中的錯誤:無效從以下資源創建ConfigValue:Resource (100) – 2014-09-24 02:07:38

+0

爲什麼使用'com.typesafe.config.ConfigValue'添加到你的pom.xml文件中的jar或者什麼依賴關係 – Jack 2015-12-08 14:04:57

回答

3

你不能把任意對象轉換爲類型安全配置。如果你要從AnyRef實現,你會認爲你只能傳遞基元+地圖。這適用於我:

val config = ConfigFactory.empty() 

    case class Resource(i: Int) 

    val value = 100 
    //val value = Resource(100) // Failed 

    println(config.withValue("resource", 
    ConfigValueFactory.fromAnyRef(value))) 
+0

那麼ConfigReference.class或者SimpleConfigObject.class不能工作嗎? – 2014-09-24 05:28:51