Структура Maven и JSF webapp, где именно для размещения ресурсов JSF

Я не понимаю структуру каталогов с Maven и JSF webapp.

Когда я создаю проект, у меня есть эта структура:

src |_ main |_ java |_ resources |_ webapp |_ WEB-INF |_ web.xml |_ index.xhtml 

Я хочу включить некоторые ресурсы:

  • Файл javascript
  • css-файл
  • изображений
  • Файлы i18n

Я могу включать файлы i18n внутри src/main/resources но не в любом месте, и я могу включить JS-файл, файл CSS и изображения внутри src/main/webapp/resources но нигде …

Я не нашел очень четких правил в Интернете о структуре каталогов с JSF и Maven.

Каковы правила, пожалуйста?

благодаря

Ресурсы JSF, на которые должны ссылаться , и (таким образом, CSS / JS / images), должны быть в папке /resources публичного webcontent, там, где /WEB-INF и /META-INF .

Таким образом, вы должны разместить их в /src/main/webapp/resources .

 src `-- main |-- java |-- resources `-- webapp |-- resources | |-- css | | `-- style.css | |-- images | | `-- logo.png | `-- js | `-- script.js |-- WEB-INF | `-- web.xml `-- index.xhtml 

Эти i18n-файлы (я предполагаю, что вы технически значимые файлы с пакетом ресурсов) в конечном итоге оказались в пакете в /WEB-INF/classes . /src/main/resources предназначены для файлов неclassов, которые, как предполагается, попадают в /WEB-INF/classes , вы должны поместить их туда. Предполагая базовое имя пакета com.example.i18n.text , com.example.i18n.text их как таковые:

 src `-- main |-- java |-- resources | `-- com | `-- example | `-- i18n | |-- text.properties | |-- text_en.properties | |-- text_es.properties | `-- text_nl.properties : 

Смотрите также:

  • Как ссылаться на ресурс CSS / JS / image в шаблоне Facelets?
  • Что такое библиотека ресурсов JSF и как ее использовать?

Лучшее место для css / images и т. Д. Находится в src / main / webapp / images или src / main / webapp / css /. В настоящее время нет местоположения src / main / webapp / resources. Папка src / main / resources предназначена для ресурсов (файлов свойств и т. Д.), Которые должны быть отфильтрованы или должны быть расположены в папке WEB-INF / classes. Таким образом, вы не любите фильтровать изображения и файлы css. Взгляните на документацию maven-war-plugin, в которой приведены некоторые советы и примеры конфигурации. Наилучший подход, казалось, заключался в том, чтобы поместить все в src / main / webapp / FOLDER, который не следует фильтровать, иначе вы должны поместить его в src / main / resources, и вы можете контролировать фильтрацию и замену

  • gradle - дубликаты библиотек в зависимостях
  • Spring Boot - родительский pom, когда у вас уже есть родительский pom
  • Сообщение maven "не может найти символ" бесполезно
  • Различия между зависимостью управления и зависимостями в Maven
  • Модуль GWT может потребоваться (повторно) скомпилировать REDUX
  • как мне получить sbt для использования локального репозитория прокси-сервера maven (Nexus)?
  • Инспекция IntelliJ дает «Не удается разрешить символ», но все еще компилирует код
  • Как запустить maven из java?
  • Наследование наследования проекта Maven - нужно ли указывать родительскую версию?
  • запустить основной class проекта Maven
  • --add-модули только при компиляции
  • Давайте будем гением компьютера.