Maven Jar中的静态Web资源?

时间:2014-09-10 07:47:23

标签: java maven static-resource

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

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

1 个答案:

答案 0 :(得分:5)

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

web-fragment.xml example

 <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>

更多关于网络片段的信息: Shing Wai Chan's Oracle blog