4

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

webapp
   resources
        scripts
           SomeJavaScript.js
           ...

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

在 Spring 配置文件中,我有:

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

通过我的调度程序 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>

而且这个文件不可用。我能做些什么来解决这个问题?

谢谢。

4

1 回答 1

5

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

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

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

Spring MVC 文档中的更多信息。

于 2013-04-23T13:16:14.480 回答