2013-04-23 3 views
4

Есть ли способ вернуть JavaScript, который находится в архиве .jar? В настоящий момент у меня есть структура:Вернуться JavaScript как статический ресурс из архива Jar

webapp 
    resources 
     scripts 
      SomeJavaScript.js 
      ... 

Список таких .js-файлов очень большой. И есть файл .jar, в котором есть все такие файлы.

В файлах конфигурации Spring у меня есть:

<mvc:resources mapping="/resources/**" location="/resources/"/> 

Чтобы обработать все статические ресурсы моим диспетчером сервлета. Но я хотел бы, чтобы он читал файлы JavaScript из архива .jar. Какой самый простой способ сделать это?

Я думаю, что написать мой собственный контроллер для этой цели не будет лучшим вариантом.

PS: Я нашел following solution:

Я использую встроенный Tomcat 7, начиная с его использованием Maven плагин. Вот mentioned, что файлы ресурсов должны быть под WEB-INF/lib/{\*.jar}/META-INF/resources, но в поиске spring-js-resources.jar, фактическое местоположение WEB-INF/lib/{\*.jar}/META-INF/web-resources. Сгенерированная страница содержит ссылки, такие как:

<script type="text/javascript" src="/SomeProjectName/dojo/dojo.js"></script> 

И этот файл недоступен. Что я могу сделать для решения проблемы?

Спасибо.

ответ

5

Вы можете использовать тег mvc:resources, чтобы показать содержимое файлов .jar в пути к классам, добавив путь classpath: к атрибуту locations.

Я считаю, что в вашем случае это будет нечто вроде

<mvc:resources mapping="/resources/**" location="/resources/, classpath:/META-INF/web-resources/"/> 

Больше информации в Spring MVC documentation.

+0

Я прочитал документацию, и я согласен с вами, что она должна помочь, но это не так. Кроме того, я развернул файл войны в tomcat 7 webapps (не встраиваемый), но это тоже не помогло. – Alexandr

+0

На самом деле это помогло! Я забыл обновить свой url на jsp-страницах. Я установил его как: , и это помогло !!!! Спасибо вам большое за ваш ответ. Я очень устал бороться с весной, maven и т. Д. И его конфигурацией. Не развитие. Только конфигурации войн :( – Alexandr

+0

Да, я согласен, что проблемы, связанные с путями, являются одними из самых неприятных: возможно, настройка уровня регистрации Spring для DEBUG/TRACE поможет? Обычно он печатает все проверенные местоположения по одному. – kryger

 Смежные вопросы

  • Нет связанных вопросов^_^