Доступ к ресурсам по пути к классам веб-приложений - PullRequest
1 голос
/ 11 февраля 2012

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

1 Ответ

2 голосов
/ 11 февраля 2012

Содержимое вашего каталога ресурсов должно быть скопировано непосредственно в WEB-INF / classes, поэтому, если ваша структура:

src/
  java/
  resources/

Вы должны использовать что-то вроде

<copy todir="${war_web_inf}/classes">
  <fileset dir="src/resources" />
</copy>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...