我不太了解 Maven 和 JSF webapp 的目录结构。
当我生成项目时,我有这个结构:
src
|_ main
|_ java
|_ resources
|_ webapp
|_ WEB-INF
|_ web.xml
|_ index.xhtml
我想包括一些资源:
我可以在
src/main/resources
中包含 i18n 文件但不是任何地方,我可以在 src/main/webapp/resources
中包含 JS 文件、CSS 文件和图像但不是任何地方...我没有在网上找到关于 JSF 和 Maven 目录结构的非常明确的规则。
请问有什么规则吗?
谢谢
最佳答案
<h:outputStylesheet>
将要引用的 JSF 资源, <h:outputScript>
和 <h:graphicImage>
(因此,CSS/JS/images),应该以 /resources
结尾公共(public) 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
那些 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
:
也可以看看:
关于jsf - Maven和JSF webapp结构,JSF资源到底放哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13540907/