【问题标题】:Best location to put your CSS and JS files in a Mavenized Java Web app?将 CSS 和 JS 文件放入 Mavenized Java Web 应用程序的最佳位置?
【发布时间】:2011-01-15 09:19:30
【问题描述】:

我在 maven 中有一个遵循这种结构的 Web 应用程序:

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

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

【问题讨论】:

    标签: java javascript css maven-2 war


    【解决方案1】:

    如果你不需要过滤 CSS 和 JS 文件,我会简单地将它们放在 src/main/webapp 中(如果你把它们放在 src/main/resources 中,它们最终会在 target/classesWEB-INF/classes 中WAR 这不太可能是您想要的)。如果您需要过滤它们,可以使用 webResources 参数将其他资源包含在 WAR 中。请查看Adding and Filtering External Web Resources 了解更多详情。

    【讨论】:

    • 谢谢,这解释了为什么我在查看位置时会看到两种口味
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      取自Introduction to the Standard Directory Layout

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

      所以我认为src/main/javascriptsrc/main/css 是正确的地方...

      你怎么看?

      【讨论】:

      • 非常同意你的看法。 JavaScript 和 CSS 是不同的语言,有自己的细微差别和用例,而不是简单的附加组件或与 java 捆绑在一起的托管脚本(就像我喜欢 java 一样!)
      【解决方案4】:

      我看到这个问题的答案千差万别。一组线程(就像这个线程中的一些人)似乎认为 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 服务器中以便更快地访问,因此将它们保存在自己的单独资源文件夹中似乎会使这项工作更容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-22
        • 1970-01-01
        • 2011-11-30
        • 1970-01-01
        • 2010-09-10
        • 2010-12-07
        • 2010-10-31
        • 1970-01-01
        相关资源
        最近更新 更多