Czytałem podobne problemy na stacoverflow.com, ale żadne z rozwiązań nie pomogło mi. Poniższa konfiguracja używam (struktura projektu Maven): src/main/resources/properties/app.properties
plikZastępczynik właściwości wiosennych nie działa
#possible values: dev test prod
mode: dev
W konfiguracji Wiosna:
<context:property-placeholder location="classpath:properties/app.properties"/>
<import resource="classpath:/spring/db/${mode}-datasource-config.xml"/>
podstawie wartości ${mode}
chcę zaimportować odpowiedni plik konfiguracji źródła danych.
Kiedy uruchomić wbudowany tomcat7 używając komendy mvn clean install tomcat7:run
Dostaję błąd:
10, 2013 5:52:29 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /SpringWebFlow threw load() exception
java.lang.IllegalArgumentException: Could not resolve placeholder 'mode' in string value "classpath:/spring/db/${mode}-datasource-config.xml"
Plik target/classes/properties/app.properties
istnieje.
Używam IntelliJ IDEA i w edytorze mogę kliknąć "$ {mode}" w <import resource="classpath:/spring/db/${mode}-datasource-config.xml"/>
i zobaczyć jego wartość w pliku właściwości. Również sam redaktor zmienia ${mode}
na szary kolor dev
pokazując, że może rozpoznać wartość właściwości. W edytorze widzę: <import resource="classpath:/spring/db/dev-datasource-config.xml"/>
Jakieś pomysły, dlaczego otrzymuję błąd i jak można go rozwiązać?
Która wersja Wiosna używacie: <3.1 or > = 3,1? – Ralph
@Ralph, 3.2.2.RELEASE spring.version> –
Alexandr