Best location to put your CSS and JS files in a Mavenized Java Web app?

前端 未结 4 2174
情话喂你
情话喂你 2021-02-08 03:05

I have a Web application in maven that follows this structure:

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

Is is better to put i

相关标签:
4条回答
  • 2021-02-08 03:47

    I am seeing quite a variation of answers to this question. One set of threads (like some people in this thread) seem to think that Maven apps should place css/images/js files into the src\main\webapp folder - similar to the traditional J2EE pattern. Others feel that the resources (or another similar peer) folder outside of webapps should be used instead:

    What are the conventional locations for for JSPs, JavaScript, CSS, Images in Maven web projects?

    I have yet to form an opinion, but it would seem to make sense to separate these client side types of files from the server side - if only because in high performance focused production situations, the static client side files such as these are typically separated out and placed into a cacheable front end web server for faster access anyway, so keeping them in their own separate resources folder would seem to make this job easier.

    0 讨论(0)
  • 2021-02-08 03:48

    I think they should be under src\main\webapp. The main rationale for saying this is that this is the standard suggested by Maven, and the Maven philosophy is that all projects should follow the same structure as much as possible.

    0 讨论(0)
  • 2021-02-08 03:51

    If you don't need to filter CSS and JS files, I would simply put them in src/main/webapp (if you put them in src/main/resources, they will end up in target/classes and in WEB-INF/classes in the WAR which is very unlikely what you want). If you need to filter them, additional resources can be included in the WAR using the webResources parameter. Have a look at Adding and Filtering External Web Resources for more details.

    0 讨论(0)
  • 2021-02-08 03:54

    Taken from Introduction to the Standard Directory Layout:

    "If there are other contributing sources to the artifact build, they would be under other subdirectories: for example src/main/antlr would contain Antlr grammar definition files."

    So I think src/main/javascript and src/main/css is the right place...

    What do you think?

    0 讨论(0)
提交回复
热议问题