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

Ale*_*ndr 4 javascript webresource spring-mvc

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

webapp
   resources
        scripts
           SomeJavaScript.js
           ...
Run Code Online (Sandbox Code Playgroud)

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

在Spring配置文件中我有:

  <mvc:resources mapping="/resources/**" location="/resources/"/>
Run Code Online (Sandbox Code Playgroud)

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

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

PS:我找到了以下解决方案:

我正在使用嵌入式Tomcat 7,使用Maven插件启动它.这里提到资源文件需要在下面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>
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

kry*_*ger 5

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

我相信你的情况会是这样的

 <mvc:resources mapping="/resources/**" location="/resources/, classpath:/META-INF/web-resources/"/>
Run Code Online (Sandbox Code Playgroud)

有关Spring MVC文档的更多信息.