Spring 在Thymeleaf'的前缀中使用通配符;s模板解析器

Spring 在Thymeleaf'的前缀中使用通配符;s模板解析器,spring,thymeleaf,Spring,Thymeleaf,我正在尝试设置Thymeleaf,以便它在我的类路径中搜索所有子包以查找模板文件(例如my.root.package.subpackage1,my.root.package.subpackage2,my.root.package.subpackage3) 我的配置如下所示: @Bean public ThymeleafViewResolver viewResolver() { final ThymeleafViewResolver resolver = new ThymeleafView

我正在尝试设置Thymeleaf,以便它在我的类路径中搜索所有子包以查找模板文件(例如
my.root.package.subpackage1
my.root.package.subpackage2
my.root.package.subpackage3

我的配置如下所示:

@Bean
public ThymeleafViewResolver viewResolver() {
    final ThymeleafViewResolver resolver = new ThymeleafViewResolver();
    resolver.setTemplateEngine(templateEngine());
    resolver.setCharacterEncoding("UTF-8");
    return resolver;
}

@Bean
public SpringTemplateEngine templateEngine() {
    final SpringTemplateEngine engine = new SpringTemplateEngine();
    engine.setTemplateResolver(templateResolver());
    return engine;
}

@Bean
public SpringResourceTemplateResolver templateResolver() {
    final SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver();
    resolver.setApplicationContext(context);
    resolver.setPrefix("classpath:my/root/package/**/");
    resolver.setSuffix(".html");
    resolver.setTemplateMode(TemplateMode.HTML);
    return resolver;
}
但这引发了一个例外:

Java.io.FileNotFoundException: class path resource [my/root/package/**/Example.html] cannot be opened because it does not exist
    org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
    org.thymeleaf.spring4.templateresource.SpringResourceTemplateResource.reader(SpringResourceTemplateResource.java:103)
    org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:226)
    org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100)
    org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:662)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1089)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1063)
    org.thymeleaf.spring4.view.ThymeleafView.renderFragment(ThymeleafView.java:335)
    org.thymeleaf.spring4.view.ThymeleafView.render(ThymeleafView.java:189)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1243)
    org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilterInternal(ResourceUrlEncodingFilter.java:52)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
它似乎不喜欢通配符。如果我对子包进行硬编码,效果很好

你知道为什么这样不行吗