Подтвердить что ты не робот

Лучшее место для размещения ваших CSS и JS файлов в Mavenized Java Web-приложении?

У меня есть веб-приложение в maven, которое следует за этой структурой:

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

Лучше всего поместить его в основную папку, а затем подключитель maven попытается переместить его или я должен поместить его в папку webapp и почему?

4b9b3361

Ответ 1

Если вам не нужно фильтровать файлы CSS и JS, я бы просто поместил их в src/main/webapp (если вы поместите их в src/main/resources, они будут в target/classes и в WEB-INF/classes в WAR, что маловероятно, что вы хотите). Если вам необходимо их отфильтровать, дополнительные ресурсы могут быть включены в WAR с помощью параметра webResources. Подробнее см. Добавление и фильтрация внешних веб-ресурсов.

Ответ 3

Взято из Введение в стандартный макет каталога:

"Если в сборку артефактов есть другие источники, они будут находиться под другими подкаталогами: например, src/main/antlr будет содержать файлы определения грамматики Antlr."

Итак, я думаю, что src/main/javascript и src/main/css - правильное место...

Как вы думаете?

Ответ 4

Я вижу довольно вариацию ответов на этот вопрос. Один набор потоков (как и некоторые люди в этом потоке), похоже, полагают, что приложения Maven должны размещать файлы css/images/js в папке src\main\webapp - подобно традиционному шаблону J2EE. Другие считают, что Вместо этого следует использовать папку (или другую аналогичную одноранговую) за пределами webapps:

Каковы обычные места для JSP, JavaScript, CSS, Изображения в веб-проектах Maven?

Я еще не сформировал свое мнение, но, похоже, имеет смысл отделить эти типы файлов на стороне клиента со стороны сервера - хотя бы потому, что в ситуациях с высокой производительностью сфокусированных файлов статические клиентские файлы, такие как эти обычно отделяются и помещаются в кешируемый веб-сервер для конечного веб-сайта для более быстрого доступа в любом случае, поэтому сохранение их в отдельной папке с ресурсами может облегчить эту работу.