spring项目静态文件路径与idea代码提示冲突问题
- 本人在使用idea编辑springboot项目时,项目目录如下
- - 而在模板页面中,例如index.html,如果要引用css目录下的xxx.css,按理应该是/static/css/xxx.css.然后这样使用虽然idea不会漂黄报warning,但是在spring项目的运行过程中由于框架特性会直接把static当做根目录找静态文件。所以用如上方法会找不到css。若要解决这个问题则应该把上文中的/static/css/xxx.css改为/css/xxx.css。这样便能找到。
- 然而,这样虽然项目运行正常,但是idea却会报warning,且ctrl找文件无法使用,代码提示也没有。再加上有点强迫症(这是主要原因),我花了大量时间找新方法。找了很久一直没有两全其美的办法。
- 终于被我找到了,在html中导入css时仍然用/static/css/xxx.css,然后在application.context中加入如下两行代码。
#以什么样的路径访问静态资源
spring.mvc.static-path-pattern=/static/**
#在何处查找静态资源
spring.web.resources.static-locations=classpath:/templates/,classpath:/resources/,classpath:/static/