62 votes

Accéder aux propriétés application.conf de la classe java avec Play! 2.0

Je veux ajouter un objet à la portée Globale, et dans le but de construire, j'ai besoin de passer un chemin vers un fichier. Je ne veux pas coder en dur le chemin d'accès au fichier de la source, et je tiens donc à obtenir que le chemin d'accès de l'application.conf.

Le problème est que je ne sais pas comment accéder à ces propriétés de la classe java. J'ai essayé ceci:

Configuration.root().getString("file.path")

Mais il se termine par une NullPointerException.

Suis-je tort de supposer qu'il y a une Configuration globale de l'instance que je peux utiliser? Merci.

83voto

Nasir Points 1389

Essayez Play.application().configuration().getString("your.key")

Comme indiqué dans le commentaire (nico_ekito), veuillez utiliser play.Play et non play.api.Play . play.api.Play est destiné aux contrôleurs de scala (voir le commentaire de Marcus biesior Biesioroff)

De plus, le jeu utilise https://github.com/typesafehub/config sous le capot afin de fournir quelques informations.

55voto

i.am.michiel Points 5085

Même si cela semble simple, voici la méthode scala pour obtenir les propriétés du fichier de configuration:

 import play.api.Play.current
...
Play.application.configuration.getString("your.key")
 

12voto

Cyril N. Points 7683

Puisque Play 2 utilise la bibliothèque de configuration Typesafe, j'ai accédé à mes vars dans application.conf comme ceci:

 ConfigFactory.load().getString("my.var");
 

3voto

Alfaville Points 171

Dans le jeu Java est:

 import play.Play;
...
Play.application().configuration().getString("key")
 

2voto

Rajesh Points 1

Utiliser comme suit (Testé en jeu 1.2.5)

 ${play.configuration.getProperty('my.var')}
 

où my.var doit être spécifié dans le fichier application.conf

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X