2015-08-05 15 views
5

Ho trovato un sacco di domande simili, ma some di esse non hanno risposta e others non funzionano per me.
Il mio compito è leggere application.conf da build.sbt, per mantenere tutta la configurazione in un posto unico. Ma la mia build.sbt con il codice dileggere application.conf da build.sbt

import com.typesafe.config._ 

val conf = com.typesafe.config.ConfigFactory.parseFile(new File("conf/application.conf")).resolve() 

version := conf.getString("app.version") 

non compilare con l'errore

error: object typesafe is not a member of package com 

Come risolvere questo problema?

risposta

6

Per fare questo è importante sapere che i progetti sbt hanno una struttura ricorsiva, quindi quando si esegue sbt si avvia effettivamente un progetto che ha come cartella principale la cartella project all'interno del proprio progetto root.

Dato che, per risolvere il problema è necessario aggiungere typesafe-config come dipendenza di libreria anche per il progetto sbt; per fare ciò, aggiungi un build.sbt nella cartella project del tuo progetto root e specifica la dipendenza lì come faresti normalmente (ad esempio libraryDependencies += ...).

+0

Grande, grazie !! –

2

Utilizzare questo nel codice

import com.typesafe.config.{Config, ConfigFactory} 
private val config = ConfigFactory.load() 

e nel file build.sbt

libraryDependencies += "com.typesafe" % "config" % "1.3.0"