Spring Boot выдает «TemplateInputException: Ошибка разрешения шаблона» при запуске из jar

У меня есть приложение, которое отлично работает при запуске в IntelliJ или через загрузочный загрузчик Gradle.

однако, если я сделаю gradle bootRepackage, а затем попробую запустить полученный jar, я получу:

2014-12-02 21:46:14.086 ERROR 9839 --- [nio-2014-exec-2] org.thymeleaf.TemplateEngine             : [THYMELEAF][http-nio-2014-exec-2] Exception processing template "/login": Error resolving template "/login", template might not exist or might not be accessible by any of the configured Template Resolvers
2014-12-02 21:46:14.087 ERROR 9839 --- [nio-2014-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: Error resolving template "/login", template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause

org.thymeleaf.exceptions.TemplateInputException: Error resolving template "/login", template might not exist or might not be accessible by any of the configured Template Resolvers
    at org.thymeleaf.TemplateRepository.getTemplate(TemplateRepository.java:245)
    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1104)
    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1060)
    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1011)
    at org.thymeleaf.spring4.view.ThymeleafView.renderFragment(ThymeleafView.java:335)

Я вижу, что в банке есть / templates / **. содержание выглядит хорошо для меня.

Одинвозможный(?) Фактором может быть то, что я использую HTML-страницу, ссылающуюся на макет, таким образом:

  layout:decorator="layouts/main"

Я могу подтвердить, что файл находится в банке.

/ логин определяется так:

@Override
public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/login").setViewName("/login");
    registry.addViewController("/").setViewName("/login");
}

и у меня есть весенняя безопасность, настроенная как:

@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

@Override
public void configure(WebSecurity security) {
    security.ignoring().antMatchers("/assets/**");
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .csrf().disable();
    http
            .authorizeRequests()
            .antMatchers("/").permitAll()
            .anyRequest().authenticated();
    http
            .formLogin()
            .loginPage("/login")
            .defaultSuccessUrl("/home")
            .failureUrl("/login?error")
            .permitAll()
            .and()
            .logout()
            .invalidateHttpSession(true)
            .logoutSuccessUrl("/login?logout")
            .permitAll();
}
}

Я думаю, что это все, что может иметь отношение к этой проблеме ...

я виделhttps://github.com/spring-projects/spring-boot/issues/112 а такжеПравильное расположение видов Thymeleaf для весны (среди других). Несмотря на эти ресурсы, мне не удалось получить разрешение шаблона.

Любые предложения с благодарностью принимаются.

Пойти так далеко со Spring Boot, но все же споткнуться о последнее препятствие (почти финальное развертывание) - это досадно.

Ответы на вопрос(6)

Ваш ответ на вопрос