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

创建Spring MVC的TileConfigurer Bean时出现异常求助

解决Spring MVC Java配置中TilesConfigurer Bean创建异常的问题

我之前也踩过Tiles3配置的坑,结合你的代码片段,大概率是以下几个常见问题导致的,咱们一步步排查:

1. 缺少必要的Tiles3依赖

TilesConfigurer需要对应的核心依赖支持,如果Maven/Gradle里没引入全,很容易抛出ClassNotFoundException或者初始化异常。

Maven依赖示例(请确保版本一致):

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-core</artifactId>
    <version>3.0.8</version> <!-- 建议使用最新稳定版 -->
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-jsp</artifactId>
    <version>3.0.8</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-spring</artifactId>
    <version>3.0.8</version>
</dependency>

2. TilesConfigurer Bean配置不完整

从你的代码片段看,你已经引入了TilesConfigurer和TilesView的类,但可能没有正确初始化TilesConfigurer的定义文件路径。正确的配置应该像这样:

@Bean
public TilesConfigurer tilesConfigurer() {
    TilesConfigurer tilesConfigurer = new TilesConfigurer();
    // 这里的路径要和你实际的tiles定义文件位置匹配,支持通配符
    tilesConfigurer.setDefinitions(new String[] { 
        "/WEB-INF/tiles/**/tiles.xml",
        "/WEB-INF/tiles-defs.xml"
    });
    // 开启自动刷新,开发环境很实用
    tilesConfigurer.setCheckRefresh(true);
    return tilesConfigurer;
}

@Bean
public UrlBasedViewResolver viewResolver() {
    UrlBasedViewResolver viewResolver = new UrlBasedViewResolver();
    viewResolver.setViewClass(TilesView.class);
    // 可以设置视图前缀后缀(如果需要),但Tiles一般靠定义文件处理路径
    return viewResolver;
}

3. Tiles定义文件(tiles.xml)存在语法错误

如果配置文件路径没问题,那就要检查你的tiles定义文件有没有写错:

  • 确保<definition>标签的name、extends、path属性正确
  • 检查所有标签是否闭合,比如<put-attribute>有没有配对的结束标签
  • 确认引用的JSP文件路径真实存在,比如/WEB-INF/views/header.jsp确实在项目里

4. 资源路径扫描问题

如果你的tiles定义文件放在src/main/resources下,那配置路径要改成classpath:tiles/**/tiles.xml,而不是/WEB-INF/...;反之如果放在src/main/webapp/WEB-INF下,就用WEB-INF开头的路径。

先从这几个方向排查,基本能解决大部分TilesConfigurer初始化异常的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:43:31