【发布时间】:2011-01-15 09:19:30
【问题描述】:
我在 maven 中有一个遵循这种结构的 Web 应用程序:
src
`-- main
|-- java
|-- resources
`-- webapp
最好把它放在主文件夹中,然后maven插件会尝试移动它,或者我应该把它放在webapp文件夹中,为什么?
【问题讨论】:
标签: java javascript css maven-2 war
我在 maven 中有一个遵循这种结构的 Web 应用程序:
src
`-- main
|-- java
|-- resources
`-- webapp
最好把它放在主文件夹中,然后maven插件会尝试移动它,或者我应该把它放在webapp文件夹中,为什么?
【问题讨论】:
标签: java javascript css maven-2 war
如果你不需要过滤 CSS 和 JS 文件,我会简单地将它们放在 src/main/webapp 中(如果你把它们放在 src/main/resources 中,它们最终会在 target/classes 和 WEB-INF/classes 中WAR 这不太可能是您想要的)。如果您需要过滤它们,可以使用 webResources 参数将其他资源包含在 WAR 中。请查看Adding and Filtering External Web Resources 了解更多详情。
【讨论】:
我认为它们应该在src\main\webapp 之下。这么说的主要理由是这是 Maven 的标准 suggested,而 Maven 的理念是所有项目都应尽可能遵循相同的结构。
【讨论】:
取自Introduction to the Standard Directory Layout:
“如果工件构建中有其他贡献源,它们将位于其他子目录下:例如,src/main/antlr 将包含 Antlr 语法定义文件。”
所以我认为src/main/javascript 和src/main/css 是正确的地方...
你怎么看?
【讨论】:
我看到这个问题的答案千差万别。一组线程(就像这个线程中的一些人)似乎认为 Maven 应用程序应该将 css/images/js 文件放入 src\main\webapp 文件夹 - 类似于传统的 J2EE 模式。其他人则认为 应使用 webapps 之外的资源(或其他类似的对等)文件夹:
What are the conventional locations for for JSPs, JavaScript, CSS, Images in Maven web projects?
我还没有形成意见,但是将这些客户端类型的文件与服务器端分开似乎是有意义的——如果仅仅是因为在以高性能为重点的生产情况下,像这些静态客户端文件是通常分离出来并放置在可缓存的前端 Web 服务器中以便更快地访问,因此将它们保存在自己的单独资源文件夹中似乎会使这项工作更容易。
【讨论】: