3

是否可以将静态资源(如 Css、Js 或图像)打包在 Jar 中以用于 Web 应用程序(战争)?

我想将应用程序的各个部分分成模块,但这些模块不仅依赖于 Java 类,如控制器或模型,还依赖于视图、模板和媒体。所以我想将所有这些打包在一个 Maven 模块项目中,并将类复制到类路径和静态文件到应用程序或 WEB-INF 根目录下的任何目录中。

4

1 回答 1

8

Servlet 3.0 规范提出了 JSR 315 规范,您可以在其中指定 web-fragments.xml 并将您的文件(甚至 js、css 文件)放在 META-INF/resources 文件夹下。这些文件将被编译成jar。将此 jar 保存在 WEB-INF/lib 文件夹中。在部署您的应用程序时,容器会将 META-INF/resources 文件部署到受尊重的位置。这是结构的样子

web-fragment.xml 示例

 <web-fragment metadata-complete="true" version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd">
  <name>part1</name>

</web-fragment>

更多关于网络片段的信息: Sing Wai Chan 的 Oracle 博客

于 2014-09-10T08:07:23.933 回答