Достъп до ресурси на пътя на класа на уеб приложението

В папка 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 например?


person maks    schedule 11.02.2012    source източник


Отговори (1)


Съдържанието на вашата директория за ресурси трябва да се копира директно в WEB-INF/класове, така че ако вашата структура е:

src/
  java/
  resources/

Трябва да използвате нещо подобно

<copy todir="${war_web_inf}/classes">
  <fileset dir="src/resources" />
</copy>
person mrembisz    schedule 11.02.2012