将CSS和JS文件放在Mavenized Java Web应用程序中的最佳位置?
我在maven中有一个遵循这种结构的Web应用程序:
src `-- main |-- java |-- resources `-- webapp
最好将它放在主文件夹中,然后maven插件将尝试移动它或我应该把它放在webapp文件夹中,为什么?
如果您不需要过滤CSS和JS文件,我只需将它们放在src/main/webapp
(如果将它们放在src/main/resources
,它们将最终放在target/classes
和WEB-INF/classes
WAR中的WEB-INF/classes
,你不太想要的东西)。 如果需要过滤它们,可以使用webResources
参数在WAR中包含其他资源。 有关更多详细信息,请查看添加和过滤外部Web资源 。
我认为他们应该在src\main\webapp
。 这样说的主要理由是,这是Maven 建议的标准,而Maven的理念是所有项目都应尽可能遵循相同的结构。
摘自标准目录布局简介 :
“如果工件构建还有其他贡献源,它们将位于其他子目录下:例如src/main/antlr
将包含Antlr语法定义文件。”
所以我认为src/main/javascript
和src/main/css
是正确的地方……
你怎么看?
我看到这个问题的答案有很多不同。 一组线程(就像这个线程中的一些人)似乎认为Maven应用程序应该将css / images / js文件放入src \ main \ webapp文件夹 – 类似于传统的J2EE模式。 其他人认为应该使用webapps之外的资源(或其他类似的对等)文件夹:
在Maven Web项目中,JSP,JavaScript,CSS,图像的常规位置是什么?
我还没有形成意见,但从服务器端分离这些客户端类型的文件似乎是有意义的 – 如果仅仅因为在高性能集中生产情况下,这些静态客户端文件通常是分开的并且放入可缓存的前端Web服务器以便更快地访问,因此将它们保存在各自独立的资源文件夹中似乎可以使这项工作更容易。