Jak załadować ${catalina.home}/conf/application.properties
w aplikacji webowej Spring/Tomcat?
Rozglądanie się po StackOverflow i Google Widzę wiele dyskusji, które twierdzą, że jest to możliwe. Jednak dla mnie to po prostu nie działa. Zgodnie z radą moich badań mój plik Wiosna applicationContext.xml
zawiera następujący wiersz:
<context:property-placeholder location="${catalina.home}/conf/application.properties"/>
Ale mam to w dziennikach:
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/Users/username/Servers/apache-tomcat-6.0.36/conf/application.properties]
Z wpisu widzę, że ${catalina.home}
rozszerza prawidłowo. Kiedy ręcznie rozszerzam go w pliku applicationContext.xml
, zwraca ten sam błąd. Następujący tekst zwraca zawartość pliku application.properties zgodnie z oczekiwaniami:
cat /Users/username/Servers/apache-tomcat-6.0.36/conf/application.properties
Ścieżka jest zatem poprawna. Czy jest to problem z bezpieczeństwem aplikacji internetowych lub serwera Tomcat?
@lan w moim przypadku $ {catalina.base} nie jest zastąpiona przez rzeczywista ścieżka – aProgrammer