将CSS和JS文件放入Mavenized Java Web应用程序的最佳位置?

将CSS和JS文件放入Mavenized Java Web应用程序的最佳位置?,java,javascript,css,maven-2,war,Java,Javascript,Css,Maven 2,War,我在maven中有一个Web应用程序,它遵循以下结构: src `-- main |-- java |-- resources `-- webapp 最好将它放在主文件夹中,然后maven插件将尝试移动它,或者我应该将它放在webapp文件夹中,为什么?如果您不需要过滤CSS和JS文件,我只需将它们放在src/main/webapp(如果您将它们放在src/main/resources中,它们将在战争中以target/classes和WEB-INF/classes结束,

我在maven中有一个Web应用程序,它遵循以下结构:

src
`-- main
    |-- java
    |-- resources
    `-- webapp

最好将它放在主文件夹中,然后maven插件将尝试移动它,或者我应该将它放在webapp文件夹中,为什么?

如果您不需要过滤CSS和JS文件,我只需将它们放在
src/main/webapp
(如果您将它们放在
src/main/resources
中,它们将在战争中以
target/classes
WEB-INF/classes
结束,这不太可能是您想要的)。如果您需要筛选它们,可以使用
webResources
参数在WAR中包含额外的资源。请查看更多详细信息。

我认为它们应该位于
src\main\webapp
下。这样说的主要理由是,这是Maven的标准,Maven的理念是所有项目都是uld尽可能遵循相同的结构。

取自:

“如果有其他对工件生成有贡献的源,它们将位于其他子目录下:例如,
src/main/antlr
将包含antlr语法定义文件。”

所以我认为
src/main/javascript
src/main/css
是正确的位置


你怎么看?

我看到这个问题的答案有很多种。一组线程(就像这个线程中的一些人)似乎认为Maven应用程序应该将css/images/js文件放在src\main\webapp文件夹中-类似于传统的J2EE模式。其他人认为 应改用webapps之外的resources(或其他类似的对等)文件夹:


我还没有形成意见,但将这些客户端类型的文件与服务器端分开似乎是有意义的——如果只是因为在高性能的生产环境中,静态客户端文件(如这些文件)通常会被分离出来并放在可缓存的前端web服务器中,以便更快地访问,那么将它们保存在各自独立的参考资料文件夹中似乎会使这项工作更容易。

谢谢,这解释了为什么我在浏览位置时会看到这两种风格非常倾向于同意您的看法。JavaScript和CSS是独立的语言,有着各自的细微差别和用例,而不仅仅是附加组件或捆绑在java中的托管脚本(就像我爱java一样!)