2013-01-20 17 views
12

W górnym odpowiedzi Play Framework 2: Read the application version defined in Build.scala to zasugerował, że numer wersji aplikacji zostaną określone w conf/application.conf i ładowane w Build.scala przez play.api.Configuration. Używam Play 2.1-RC2 i otrzymuję następujący komunikat o błędzie podczas budowy:Zagraj Framework 2.1: Używaj play.api.Configuration w Build.scala

[error] [...]/project/Build.scala:7: object Configuration is not a member of package play.api 
[error] val conf = play.api.Configuration.load(new File(".")) 

myślę, że to może być spowodowane tym, że przy play 2.1 build zależności muszą zostać określone jako wtyczki do SBT i play.api.Configuration nie jest częścią wtyczki SBT Play. Zgaduję, że muszę uwzględnić główne biblioteki Play w project/plugins.sbt, ale nie byłem w stanie dowiedzieć się, jak to zrobić. Jakieś pomysły?

(uwaga: uczyniłby ten komentarz w oryginalne pytanie, czy miałem wystarczająco dużo punktów REP)

Odpowiedz

24

ja pracuje w 2.1-RC2 jeśli używasz config bibliotekę typesafe bezpośrednio, bez Play Configuration owijki. Jest to API Java, więc jest używany nieco inaczej niż opisano w this answer.

W project/Build.scala importować Biblioteka:

import com.typesafe.config._ 

i załaduj z pliku konfiguracji ręcznej. Aby rozwiązać substytucje, konieczne jest wywołanie resolve().

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

val appName = conf.getString("app.name") 
val appVersion = conf.getString("app.version") 
+0

To działa, dziękuję. Przeprosiny za późną odpowiedź. – user1995521

+2

Uważaj! Nie używaj kropek i spacji w 'appName' gry-2.1.x. Lub przywitaj się z 'java.lang.ExceptionInInitializerError'. – HEX

+0

@kapep: czy chcesz zobaczyć to pytanie i ewentualnie coś zasugerować? http://stackoverflow.com/q/21133830/1066240 – biesior

Powiązane problemy