如何在Quarkus依赖模块中正确使用Qute模板?
解决Quarkus依赖模块中Qute模板无法加载的问题
问题根源
Quarkus构建时默认仅扫描主应用的src/main/resources/templates目录,不会自动识别依赖Maven模块中的模板资源,导致基类注入模板时提示找不到文件。
解决步骤
1. 确认依赖模块资源打包配置
检查依赖模块的pom.xml,确保src/main/resources目录(含templates子目录)被正确打包进JAR:
<build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*</include> </includes> </resource> </resources> </build>
Maven默认会处理该目录,但若有自定义资源配置,需保证上述规则生效。
2. 配置主应用扫描全局模板路径
在主应用的application.properties中添加配置,让Quarkus扫描所有classpath下的templates目录:
quarkus.qute.template-path=classpath:/templates/
若主应用自身也有模板,可追加路径:
quarkus.qute.template-path=src/main/resources/templates,classpath:/templates/
3. 保持模板注入代码不变
抽象类中的注入代码无需修改,依赖模块打包后模板会位于classpath:/templates/health_state.html,与@Location注解路径匹配:
@Inject @Location("health_state.html") Template healthState;
4. 清理重建项目
执行Maven命令清理缓存并重新构建,确保依赖模块资源被正确引入主应用:
mvn clean install -DskipTests
验证
启动主应用后,检查启动日志是否消除模板找不到的错误,调用对应REST接口验证模板渲染是否正常。
内容的提问来源于stack exchange,提问作者eerriicc
相关产品推荐
相关产品推荐

