2 votes

Chargement du fichier de propriétés WebSphere Liberty

J'ai une application simple qui utilise Spring pour charger un fichier de propriétés depuis le classpath. Lors du déploiement de cette application sur WebSphere Liberty 8.5.5, le résultat est le suivant FileNotFoundException .

L'exception imbriquée est java.io.FileNotFoundException : Impossible d'ouvrir la ressource ServletContext [/myprops.properties].

Voici ma classe @Configuration de printemps :

@Configuration
@Profile("dev")
@PropertySource("classpath:/myprops.properties")
public class AppConfigDev extends AppConfig {
  ...
}

Je me demande où, dans la structure du répertoire Liberty, doit se trouver mon fichier de propriétés ?

0voto

Sampada Points 2339

L'utilisation du préfixe classpath: dans votre annotation signifie que le fichier de propriété donné sera récupéré dans la base de données de WebSphere, classpath par l'intermédiaire d'un ClassLoader.getResources(...) appeler.

Réf : http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/resources.html#resources-classpath-wildcards

Vous devrez créer un jar de tous vos fichiers de propriétés pour que Websphere Liberty puisse les charger.

Réf : 1. https://developer.ibm.com/answers/questions/13384/websphere-liberty-8-5-setting-java-classpath.html
2. Websphere Liberty 8.5 : définition du chemin de classe Java

0voto

Vous pouvez définir le nom/répertoire de vos fichiers dans un fichier nommé jvm.options et le placer dans votre ${server.config.dir}/jvm.options

exemple :

In the file:${server.config.dir}/jvm.options
Add the following line: -DAPP_ENV=PROD
Access the value with: System.getProperty("APP_ENV"); -> PROD

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