In questo modo è possibile ottenere la versione dell'applicazione Play e il nome dell'applicazione definiti nel build.sbt
name := "myApp"
version :="1.0.4"
Avviso questo funziona solo in modalità PROD. In modalità dev SBT condivide un'istanza JVM con l'applicazione e tali chiamate restituiscono qualcosa di diverso.
Application.class.getPackage().getImplementationTitle()); // returns "myApp"
Application.class.getPackage().getImplementationVersion()); // returns "1.0.4"
In questa classe caso di applicazione è una classe definita nel progetto. Può essere qualsiasi classe dal tuo progetto.
UPDATE
ho notato che questo metodo non funziona out of the box for Gioca> = 2.4.x
Per risolvere il problema aggiungere questo alla tua build.sbt
packageOptions += Package.ManifestAttributes(
"Implementation-Version" -> (version in ThisBuild).value,
"Implementation-Title" -> name.value
)
Le due proprietà verrà aggiunta al MANIFEST.FM file nel costruire così il titolo del pacchetto e la versione possono essere letti dal codice.
FYI: Io uso SBT confezionatore nativo
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.3")
Grazie, Probabilmente intendevi Build.scala e non build.conf? – peter
Sì, certo, grazie! Risolto il problema. – Kapep
Qualche idea su come farlo funzionare in Play 2.1? Sto ricevendo lo stesso errore di questa persona: http: //stackoverflow.com/questions/14430088/play-framework-2-1-use-play-api-configuration-in-build-scala – takteek