是否可以在Jar中打包静态资源(如Css,Js或图像)以用于Web应用程序(战争)?
我想将应用程序的各个部分分成模块,但这些不仅依赖于Java类,如控制器或模型,还依赖于视图,模板和媒体。所以我想在Maven模块项目中打包所有这些,并将类复制到类路径和静态文件到应用程序或WEB-INF根目录下的任何目录。
答案 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 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