Приложение Springboot не может найти загрузчик и jquery, добавленные webjars - PullRequest
0 голосов
/ 07 июня 2018

Вот мои зависимости в pom.xml

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>    
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>    
    <!-- thymeleaf -->
    <dependency>
        <groupId>nz.net.ultraq.thymeleaf</groupId>
        <artifactId>thymeleaf-layout-dialect</artifactId>
        <version>2.2.1</version>
    </dependency>    
    <dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-springsecurity4</artifactId>
        <version>2.1.3.RELEASE</version>
    </dependency>    
    <dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-java8time</artifactId>
        <version>2.1.0.RELEASE</version>
    </dependency>    
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>webjars-locator</artifactId>
        <version>0.32</version>
    </dependency>    
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>bootstrap</artifactId>
        <version>3.3.7-1</version>
    </dependency>    
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>bootstrap-datepicker</artifactId>
        <version>1.0.1</version>
    </dependency>    
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>jquery</artifactId>
        <version>3.1.1</version>
    </dependency>
</dependencies>

, это мой файл конфигурации:

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/webjars/**").addResourceLocations("/webjars/");
    }
}

и вот как я добавил bootstrap и jquery в свой HTML-шаблон:

<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Default Title</title>
    <link rel="stylesheet" th:href="@{/webjars/bootstrap/css/bootstrap.min.css}" />
    <script th:src="@{/webjars/jquery/jquery.min.js}"></script>
    <script th:src="@{/webjars/bootstrap/js/bootstrap.min.js}"></script>
    <link rel="stylesheet" th:href="@{/css/styles.css}" />
</head>

Стили начальной загрузки не применяются, и когда я открываю консоль разработчика, я вижу 404 ошибки, указывающие, что файлы css и js не могут быть найдены.Ну, это, кажется, очень распространенная проблема для начинающих, однако я прочитал некоторые вопросы здесь относительно этой проблемы.вроде это но не решил мою проблему.Есть идеи, что я делаю не так?

1 Ответ

0 голосов
/ 03 июля 2018

При использовании Spring Boot WebJars настраиваются автоматически.Нет необходимости добавлять какие-либо обработчики или другие конфигурации.Когда вы запускаете свое приложение, вы можете увидеть журнал вроде этого:

... Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

Это кажется странным, но удаление вашего файла конфигурации, вероятно, решает проблему.Фактически мое приложение Spring Boot было точно таким же, как ваше (но без этого файла конфигурации), и работало отлично.Когда я добавил вашу конфигурацию в свое приложение, WebJars больше не работал!

...