将您的CSS和JS文件放入Mavenized Java Web应用程序中的最佳位置?
-
19-09-2019 - |
题
我在Maven中有一个遵循此结构的Web应用程序:
src
`-- main
|-- java
|-- resources
`-- webapp
最好将其放在主文件夹中,然后将Maven插件放入将尝试移动它,否则我应该将其放入WebApp文件夹中,为什么?
解决方案
如果您不需要过滤CSS和JS文件,我只需将它们放入 src/main/webapp
(如果您把它们放进去 src/main/resources
, ,他们最终会进入 target/classes
并在 WEB-INF/classes
在战争中,您不太可能想要)。如果您需要过滤它们,则可以使用 webResources
范围。看一下 添加和过滤外部网络资源 更多细节。
其他提示
我认为他们应该在 src\main\webapp
. 。说这是标准的主要理由是 建议 Maven和Maven哲学是所有项目都应尽可能遵循相同的结构。
摘自 标准目录布局简介:
“如果还有其他贡献伪像构建的来源,它们将在其他子目录下:例如 src/main/antlr
将包含ANTLR语法定义文件。”
所以我认为 src/main/javascript
和 src/main/css
是正确的地方...
你怎么看?
我看到这个问题的答案很大。一组线程(像该线程中的某些人一样)似乎认为Maven应用程序应将CSS/Images/JS文件放入SRC Main WebApp文件夹中 - 类似于传统的J2EE模式。其他人则认为应该使用WebApp之外的资源(或其他类似的同行)文件夹:
JSP,JavaScript,CSS,Maven Web项目中的图像的常规位置是什么?
我尚未提出意见,但是将这些客户端类型的文件与服务器端分开似乎是有意义的 - 仅仅是因为在高性能以高性能的生产情况下,诸如此类静态客户端端文件通常是分开的并将其放入可缓存的前端Web服务器中,以便更快地访问,因此将它们放在自己的独立资源文件夹中似乎可以使这项工作更容易。