J'utilise ficus et typesafe config pour gérer les configurations.Bibliothèque Typesafe config inutilisable dans la feuille de calcul Intellij Scala
Je veux utiliser la feuille de scala de Intellij dans ce projet, mais lorsque je tente le code suivant:
import what.ever.ApplicationSetting
ApplicationSetting.aws.accessKey
Cependant, je reçois l'erreur suivante:
java.lang.ExceptionInInitializerError
at some.thing.A$A11$A$A11.get$$instance$$res0(testRes.sc:3)
at #worksheet#.#worksheet#(testRes.sc:11)
Caused by: com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'aws'
at com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:124)
at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:147)
at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:159)
at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:164)
at com.typesafe.config.impl.SimpleConfig.getString(SimpleConfig.java:206)
at net.ceedubs.ficus.readers.StringReader$$anon$1.read(StringReader.scala:7)
at net.ceedubs.ficus.readers.StringReader$$anon$1.read(StringReader.scala:6)
at what.ever.ApplicationSetting$$anon$1.read(ApplicationSetting.scala:24)
Le contenu de application.conf
est le suivant :
package what.ever
import com.typesafe.config.ConfigFactory
import net.ceedubs.ficus.Ficus._
import net.ceedubs.ficus.readers.ArbitraryTypeReader._
object ApplicationSetting {
val env = sys.env.getOrElse("DEV_ENV", "default")
val config = {
ConfigFactory.defaultOverrides
.withFallback(ConfigFactory.load(env))
.withFallback(ConfigFactory.load)
}
case class AWS(accessKey: String,
secretKey: String)
val aws = config.as[AWS]("aws")
}
Je trouve cela étrange parce que le même code a fait travailler dans la console scala.
J'apprécierais toute suggestion.
Dans le cas où vous souhaitez tester la vérification du code cette repo.
Je ne peux pas offrir beaucoup d'aide, mais parfois, quand je rencontre des problèmes avec des feuilles de calcul dans Intellij je vais à rempl ou [ammonite] (http://www.lihaoyi.com/Ammonite/#Ammonite-REPL) Ce dernier fournit une belle réplique améliorée et un moyen facile de charger les bibliothèques. – Barry
Ammonite a encore du mal à ajouter des chemins de classes. Dans certains cas, cela ne peut donc pas être un remplacement. Le repl est OK cependant. – Vasco