You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot运行报MustacheServletWebConfiguration.mustacheViewResolver错误求助

问题根因

  • 项目缺少Spring Web核心依赖,Spring MVC相关类不存在,触发Mustache模板引擎自动配置时找不到依赖类报错
  • Spring Boot相关依赖版本不统一,父依赖版本和子依赖版本不一致引发兼容问题
  • 手动引入了scope为provided的Servlet API,可执行jar运行时不会加载该依赖
  • 运行jar时指定的文件名和实际打包生成的文件名不匹配

解决方案

  1. 修正pom.xml依赖配置,参考如下调整:
<!-- 继承父依赖的统一版本,删除原有手动指定的version标签 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<!-- 新增Spring Web核心依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
<!-- 完全删除下面这段手动引入的javax.servlet-api依赖,spring-boot-starter-web已内置相关实现 -->
<!-- 
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
-->
  1. 若你的项目不需要使用Mustache模板引擎,可直接关闭对应的自动配置,修改启动类注解:
import org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration;

@SpringBootApplication(exclude = {MustacheAutoConfiguration.class})
public class DoctorServiceApplication {
    // 原有代码保持不变
}
  1. 重新构建并运行项目:
mvnw clean package
# 注意jar包名要和pom中artifactId+version对应,你的配置生成的jar包名是DoctorService-0.0.1.jar
java -jar target/DoctorService-0.0.1.jar

内容的提问来源于stack exchange,提问作者Chty_syq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:15:02