从Jar存档中将JavaScript作为静态资源返回

时间:2013-04-23 06:52:04

标签: javascript spring-mvc webresource

有没有办法返回位于.jar存档中的JavaScript?目前我有以下结构:

webapp
   resources
        scripts
           SomeJavaScript.js
           ...

此类.js文件的列表非常大。并且有一个包含所有此类文件的.jar文件。

在Spring配置文件中我有:

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

通过我的调度程序servlet处理所有静态资源。但是,我希望它能从.jar存档中读取JavaScript文件。最简单的方法是什么?

我认为为此目的编写自己的控制器不是最好的选择。

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>

此文件不可用。我该怎么做才能解决问题?

感谢。

1 个答案:

答案 0 :(得分:5)

您可以使用mvc:resources标记通过向classpath:属性添加locations路径来公开类路径上.jar文件的内容。

我相信你的情况会像

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

Spring MVC documentation中的更多信息。

相关问题