В папка WEB-INF/classes
имам файлове на java class, структурирани в йерархия на пакети (напр.: com.company.app
) и папка resources
, която съдържа xml контекст на пролетта, jdbc.properties
файл, log4j.properties
файл и други ресурси, които използвам в приложението mu. За да заредя spring контекст и да конфигурирам 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
използвам свойство-placeholder, за да намеря 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 например?