2016-09-15 1 views
1

Je suis en train de lire du code qui utilise la configuration de typeafe pour lire le fichier application.conf dans le dossier de ressources. J'utilise une bibliothèque qui a un application.conf dans son dossier de ressources et j'appelle cette bibliothèque d'un autre projet qui a son propre application.conf dans son dossier de ressources.dupliquer application.conf dans les projets de configuration typesafe

Est-ce que typesafe config sera capable de lire les bons fichiers de configuration respectivement?

Répondre

2

De la documentation:

The substitution syntax ${foo.bar} will be resolved twice. First, all the reference.conf files are merged and then the result gets resolved. Second, all the application.conf are layered over the reference.conf and the result of that gets resolved again.

Ainsi, les deux bibliothèques verront la même Config, qui est le résultat de la fusion à la fois application.conf (en supposant à la fois l'utilisation comportement par défaut et il n'y a plus application.conf ou reference.conf sur le classpath). Chaque bibliothèque doit non seulement mettre sa configuration à la racine, mais plutôt avoir sa propre partie de l'arbre de config: dire non

debug = true 
server = "example.com" 

mais

my.cool.library { 
    debug = true 
    server = "example.com" 
} 

Si cette règle est suivie, les bibliothèques ont gagné 't conflit. S'ils utilisent le même chemin avec une signification différente, vous aurez des problèmes.