我的情况:资源目录:
--resources
-- static
-- css
-- a.css
-- b.css
-- js
-- aa.js
-- bb.js
-- templates
-- index.html
index.html部分代码:
<link href="css/a.css" rel="prefetch">
<link href="css/b.css" rel="prefetch">
<link href="js/aa.js" rel="prefetch">
<link href="js/bb.js" rel="prefetch">
在EclipseIDE中,当我启动应用程序时,index.html将被正确呈现,并且可以获取js/css。当我在jar中打包并启动“java-jar.jar”时,找不到js/css。
怎么会?
我尝试了一些解决方案,但没有成功:
答。我在application.yml中添加了以下配置
spring:
resources:
static-locations: classpath:/static/
不起作用
b。添加此配置
@Configuration
public class WebConfig implements WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
不起作用
c。加载项pom.xml
<resources>
<resource>
<directory>src/main/resources/static/</directory>
<filtering>true</filtering>
<targetPath>META-INF/resources</targetPath>
</resource>
</resources>
不起作用。
我检查静态目录是否已打包到jar中,jar目录如下所示:
-- xxx.jar
-- BOOT-INF
-- static
-- css
-- a.css
-- b.css
-- js
-- aa.js
-- bb.js
有人知道怎么解决吗?
1条答案
按热度按时间flvlnr441#
也许这条路错了。
使用href=“/css/a.css”代替href=“css/a.css”
/在路的开头。