В папке WEB-INF/classes
у меня есть файлы классов java, структурированные в иерархии пакетов (например: com.company.app
) и папка resources
, содержащая XML-файл контекста пружины, файл jdbc.properties
, файл log4j.properties
и другие ресурсы, которые я использую в му приложение. Чтобы загрузить контекст весны и настроить log4j в web.xml
, я использую
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
и в applicationContext.xml
я использую свойство-заполнитель, чтобы найти jdbc.properties
файл
<context:property-placeholder location="classpath:jdbc.properties"/>
Однако tomcat говорит, что этот ресурс classpath не может быть разрешен. Я использую ant для создания файла войны и имею следующую цель для компиляции java-источников и копирования всего, кроме java-источников, из папки src в WEB-INF/classes
<target name="javac" description="Compile java source to bytecode">
<mkdir dir="${war_web_inf}/classes" />
<javac srcdir="src" includes="**" encoding="utf-8" destdir="WebContent/WEB-INF/classes" source="1.5" target="1.5" nowarn="true" debug="true" debuglevel="lines,vars,source">
<classpath refid="project.class.path" />
</javac>
<copy todir="${war_web_inf}/classes">
<fileset dir="src" excludes="**/*.java" />
</copy>
</target>
Как получить доступ к ресурсам в web.xml как classpath: log4j.properties, например?