我在 Maven 中有一个遵循以下结构的 Web 应用程序:
src
`-- main
|-- java
|-- resources
`-- webapp
最好把它放在主文件夹中,然后 maven 插件会尝试移动它,或者我应该把它放在 webapp 文件夹中,为什么?
我在 Maven 中有一个遵循以下结构的 Web 应用程序:
src
`-- main
|-- java
|-- resources
`-- webapp
最好把它放在主文件夹中,然后 maven 插件会尝试移动它,或者我应该把它放在 webapp 文件夹中,为什么?
如果您不需要过滤 CSS 和 JS 文件,我会简单地将它们放入src/main/webapp
(如果您将它们放入src/main/resources
,它们最终会出现在target/classes
WARWEB-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 服务器中,以便更快地访问,因此将它们保存在自己单独的资源文件夹中似乎会使这项工作更容易。