Mar*_*arc 2 xhtml jsf executable-jar maven spring-boot
我遇到的问题是,我的 Spring Boot JSF 应用程序可以在 IntelliJ 中运行,但不能作为可执行 JAR 运行。应用程序启动时没有问题,但无法解析 xhtml 模板。在 IntelliJ 中,一切都按预期进行。
我发现这个问题涉及类似的问题。我查看了文件结构,看不出有什么区别。
我的maven文件结构:
src
| main
| resources
| META-INF
| resources
| index.xhtml
| faces-config.xml
Run Code Online (Sandbox Code Playgroud)
因此,当我启动 Spring Boot 应用程序时,它将在目标/类处获取
那里的结构是:
target
| classes
| META-INF
| resources
| index.xhtml
| faces-config.xml
Run Code Online (Sandbox Code Playgroud)
在创建的可执行 JAR 中,结构为
org
BOOT-INF
| lib
| classes
| de ...
META-INF
| resources
| index.xhtml
| faces-config.xml
Run Code Online (Sandbox Code Playgroud)
据我了解各种网站和答案,这应该是 jar 中获取 xhtml 文件的正确结构。但这对我不起作用。出于无奈,我将 META-INF 目录复制到 BOOT-INF/classes 目录中,并在另一次迭代中将 META-INFO 中的资源目录复制到 BOOT-INF/classes 中。但没有任何作用。它仍然无法解析 xhtml 文件。
我的 jar 文件的结构应该如何?
我在将 JSF 页面打包到可执行 jar 时遇到了同样的问题。还有与该问题相关的其他主题(对我没有帮助):
\n\n我最终将项目转换为war。\n希望spring-boot-maven-plugin支持可执行的 wars。
\n<packaging>war</packaging>。<layers><enabled>true</enabled></layers>从 spring-boot-maven-plugin 配置中删除。战争项目结构:
\n pom.xml\n src\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 java\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 xxx\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 resources\n \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 application.yml\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 webapp\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 xxx.xhtml\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 WEB-INF\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 faces-config.xml\n\nRun Code Online (Sandbox Code Playgroud)\nspring-boot-maven-plugin 运行其repackage. 解压后的战争结构:
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 META-INF\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MANIFEST.MF\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 maven\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 com.fusion\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 jsf-application\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pom.properties\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 pom.xml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 org\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 springframework\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 boot\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 loader\n\xe2\x94\x82\xc2\xa0\xc2\xa0 ... spring classes here\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 WarLauncher.class\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 xxx.xhtml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 WEB-INF\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 classes\n \xe2\x94\x82\xc2\xa0\xc2\xa0 ... project classes \n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 faces-config.xml\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 lib\n ... all the libs\n\n\nRun Code Online (Sandbox Code Playgroud)\n可以使用 来发动战争java -jar jsf-application.war。
| 归档时间: |
|
| 查看次数: |
1182 次 |
| 最近记录: |