N'a pas pu résoudre espace réservé pour le contexte:propriété de l'espace réservé

Je suis en train de mettre mon application pour utiliser les différentes définitions de source de données, basée sur une variable d'environnement, mais je suis en cours d'exécution dans l'erreur ci-dessous. J'ai regardé beaucoup de questions similaires, mais ils ne semblent pas être les mêmes.

J'ai mis en place plusieurs fichiers de propriétés:

env-dev.properties
env-test.properties
env-prod.properties
env-.properties

J'ai créé un système de propriété appelée MEM_ENV avec la valeur "dev"

Mon ressort fichier xml ressemble à ceci:

    <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
    <context:property-placeholder
        location="classpath*:*env-${MEM_ENV}.properties" />
    <bean id="mongoDataSource" class="com.iLearn.persistence.base.MongoDataSourceImpl">
        <property name="server" value="${mongo.server}" />
        <property name="port" value="${mongo.port}" />
        <property name="dbName" value="${mongo.dbName}" />
        <property name="userName" value="${mongo.userName}" />
        <property name="password" value="${mongo.password}" />
    </bean>

Mes fichiers de propriétés ressembler à ceci:

mongo.server=aServer.com
mongo.port=10003
monog.dbName=aDBName
mongo.userName=aUserName
mongo.password=aPassword

L'exception que j'obtiens est:

    message org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'mongoDataSource' defined in class path resource [springAppConfig.xml]: Could not resolve placeholder 'mongo.server' in string value "${mongo.server}"

description The server encountered an internal error (org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'mongoDataSource' defined in class path resource [springAppConfig.xml]: Could not resolve placeholder 'mongo.server' in string value "${mongo.server}") that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'mongoDataSource' defined in class path resource [springAppConfig.xml]: Could not resolve placeholder 'mongo.server' in string value "${mongo.server}"
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
    org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:357)
    com.iLearn.security.AccessFilter.doFilter(AccessFilter.java:43)
  • En passant, je suis l'aide de Printemps version 3.2.1.Libération
  • Essayez de location="classpath:/env-${MEM_ENV}.les propriétés" />
  • elle ne fonctionne pas - il crée un autre exception - fichier introuvable
  • Ok cela signifie que le fichier dans le cas précédent a été résolu, de sorte que Vous devez être sûr de la bonne valeur de la MEM_ENV variable système et que mongo.serveur propriété est définie dans env-dev.les propriétés de fichier, je ne vois pas d'autres cas ici.
  • Même chose, je pensais, mais je n'arrive pas à voir le problème, j'ai donc pensé que je pourrais voir si il y avait quelque chose de plus subtil qu'il me manquait.
InformationsquelleAutor Ramesh | 2013-02-22