我试图在 spring 引导中使用 webjars,但我得到 ERR_ABORTED 404

I am trying to use webjars in spring boot, but I get ERR_ABORTED 404

我尝试在 spring boot project 中使用 Webjars 来使用 jQuery

但是,jQuery 不起作用,我按 F12 进行了检查。

GET http: // localhost: 8100 / webjars / jquery / 3.4.1 / jquery.min.js net :: ERR_ABORTED 404

首先我将 Webjars 添加到 pom.xml

<dependencies>
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>jquery</artifactId>
        <version>3.4.1</version>
    </dependency>
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>jquery-ui</artifactId>
        <version>1.12.1</version>
    </dependency>   
    <!-- <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>webjars-locator</artifactId>
        <version>0.30</version>
    </dependency> -->
</dependencies>

我在 html header 部分添加了:

<link rel="stylesheet" href="/webjars/jquery-ui/1.12.1/jquery-ui.min.css" />
<script type="text/javascript" src="/webjars/jquery-ui/1.12.1/jquery-ui.min.js"></script>
<script type="text/javascript" src="/webjars/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    //alert("Hello~!?");
});
</script>

从上面的 pom.xml 代码可以看出,我尝试使用 webjars-locator,但我又遇到了同样的错误。

我用的时候webjars-locator把版本名删了就用了

尽管在 https://www.webjars.org/documentation#springboot 列出了问题,但问题是什么?

您需要告诉 spring 您的 js lib 文件在哪里。

默认情况下,当您使用 webjars 时,所有库都添加到 webjars 文件夹中

所以你需要添加这个

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

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

或 XML

<mvc:resources mapping="/webjars/**" location="/webjars/"/>

webjars-locator 将在类路径中查找库并使用它来自动解析任何WebJars 资产的版本。这适用于 Spring ver >= 4.2

现在您可以像这样在 HTML 中使用它

<script src="/webjars/jquery/3.1.1/jquery.min.js"></script>