Maven和JSF webapp结构,完全放置JSF资源

Oli*_* J. 18 jsf maven

我真的不了解Maven和JSF webapp的目录结构.

当我生成项目时,我有这样的结构:

src
|_ main
   |_ java
   |_ resources
   |_ webapp
      |_ WEB-INF 
         |_ web.xml
      |_ index.xhtml
Run Code Online (Sandbox Code Playgroud)

我想要包含一些资源:

  • javascript文件
  • css文件
  • 图片
  • i18n文件

我可以包含i18n文件src/main/resources但不在任何地方我可以包含JS文件,CSS文件和图像里面src/main/webapp/resources但不是任何地方...

我没有在网上找到关于JSF和Maven目录结构的非常明确的规则.

请问有什么规定?

谢谢

Bal*_*usC 27

其是JSF资源被引用<h:outputStylesheet>,<h:outputScript>并且<h:graphicImage>(因此,CSS/JS /图像),应结束/resources公共web内容的文件夹中,那里的/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
Run Code Online (Sandbox Code Playgroud)

那些i18n文件(我假设你在技术上意味着资源包文件)最终最终会在一个包中/WEB-INF/classes.本/src/main/resources打算用于非类文件/WEB-INF/classes,应该将它们放在那里.假设捆绑基本名称为com.example.i18n.text,请按以下方式提供:

src
 `-- main
      |-- java
      |-- resources
      |    `-- com
      |         `-- example
      |              `-- i18n
      |                   |-- text.properties
      |                   |-- text_en.properties
      |                   |-- text_es.properties
      |                   `-- text_nl.properties
      :                   
Run Code Online (Sandbox Code Playgroud)

也可以看看:

  • 别客气.我认为混淆的最大原因在于"资源"文件夹的相同命名约定,并且每个文件夹的用途完全不同. (3认同)