2015-04-02 36 views

回答

0
ConfigObject config = new ConfigSlurper().parse originalConf.toProperties() 
3

@ HappyCoder86答案的問題是假設所有配置鍵/值都是字符串。如果某些配置值是解決方案下的對象/閉包(在grails中通用),則無法工作。

下面的解決方案可能是緩慢的,但如果你有其他類型的字符串,然後值會工作

static def deepcopy(ConfigObject orig) { 
     ConfigObject copy = new ConfigObject() 
     orig.keySet().each { key -> 
      def value = orig.get(key) 
      if (value instanceof ConfigObject) { 
       value = deepcopy(value) 
      } 
      copy.put(key, value) 
     } 
     return copy 
    }