解决异常FileNotFoundException:class path resource找不到资源文件的问题
近期很多小伙伴问我,为何启动项目的时候Spring
或 Spring MVC
资源文件找不到 ,这里我总结几个问题出现的原因和解决方案
一、问题的原因
为何会出现这种FIleNotFoundException
呢? 原因无非两点:
- 1、路径配置错误
- 2、编译有问题,文件不存在
二、解决办法:
对于第一个原因,这个我们不多说,大家自己看看JavaWeb项目中classpath路径详解,改好配置目录路径,第一个原因排除,给大家一个案例参考
至于第二个原因,编译不成功,导致文件不存在,拿Eclipse
or MyEclipse
为例, 首先去项目的编译目录查看资源文件和class
文件是否编译成功
如果编译目录的下不存在资源文件,那么编译不成功, 解决办法也很简单,选择Eclipse
工具栏上的Project
, 选择clean up
,并勾选下面的 Build Automatically
,这样就会自动编译了,等编译完成,你再看文件目录,是否存在资源文件,存在了,则完美解决
如果还不行,那么看看你是否是通过第三方插件或工具来进行编译的,重新对项目进行编译就好了
以上问题都没有疑问的话,还有可能是依赖下载过程出错,删掉依赖重新下载即可
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
Spring Boot使用Thymeleaf + Gradle构建war到Tomcat
Spring Boot 以Jar的方式部署启动,这个不用介绍了, 之前也介绍了关于 Spring Boot + thymeleaf 的简单使用 ,但是今天遇到一个问题, 我先描述下问题的场景: 由于运维部门的需求,项目需要以war的形式放到tomcat运行 ,而不是原定的jar的方式运行 配置了一下午,也查了一下午的资料,以war的方式在Tomcat能运行,并且能访问Controller,但是在返回html视图时,找不到视图模板.最终发现问题在Thymeleaf的配置,话不多说,具体看操作步骤:
-
SpringCloud Edgware.SR3版本中Ribbon的timeout设置方法
概述 Spring Cloud中,客户端的负载均衡使用的是Ribbon,Ribbon的超时时间默认很短,需要进行调整. Spring Cloud版本 Edgware.SR3 Ribbon timeout设置 Ribbon的默认timeout时间是1秒,这个可以在RibbonClientConfiguration类中看到. public class RibbonClientConfiguration { public static final int DEFAULT_CONNECT_TIMEOUT
-
Spring Boot应用事件监听示例详解
前言 本文主要给大家介绍了关于Spring Boot应用事件监听的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1. Spring Boot特有的应用事件 除了Spring框架的事件,Spring Boot的SpringApplication也发送了一些自己的事件: ApplicationStartingEvent:在任何处理(除了注册listener和initializer)开始之前发送. ApplicationEnvironmentPreparedEvent: 在
-
单台Spring Cloud Eureka升级到三台Eureka高可用集群
概述 由于前段时间,公司业务发展快,接了太多的业务需求了,没有时间把Eureka搞成高可用的,先用一台Eureka应付.当时由于流量还不大,不会出现问题.但是最近一个月,流量逐渐增大,老板担心万一单台Eureka挂了,服务会用不了.让我赶紧升级成3台Eureka,并两两注册,做到高可用.下面就把升级的过程说一下. 未升级前 单台Eureka上,只有购物车这个服务提供方,共两台. 升级步骤 为了描述的方便,线上已经存在的Eureka称之为peer1,新增的两台Eureka分别叫peer2和peer
-
Spring Boot配置Thymeleaf(gradle)的简单使用
最近项目用到了Spring Boot ,但是在控制器返回html视图并渲染参数的时候,存在了疑问.后面考虑用Thymeleaf ,感觉真的不错,下面分享给大家 总共四步: jar 引入 控制器参数传递 html标签引入 Thymeleaf 缓存设置 一.相关Jar的引用 1.maven的引用方式: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-
-
Spring Boot单元测试中使用mockito框架mock掉整个RedisTemplate的示例
概述 当我们使用单元测试来验证应用程序代码时,如果代码中需要访问Redis,那么为了保证单元测试不依赖Redis,需要将整个Redis mock掉.在Spring Boot中结合mockito很容易做到这一点,如下代码: import org.mockito.Mockito; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration
-
spring boot中各个版本的redis配置问题详析
前言 今天在springboot中使用数据库,springboot版本为2.0.2.RELEASE,通过pom引入jar包,配置文件application.properties中的redis配置文件报错,提示例如deprecated configuration property 'spring.redis.pool.max-active',猜想应该是版本不对,发现springboot在1.4前后集成redis发生了一些变化. 下面截图看下. 一.不同版本RedisProperties的区别 这是
-
SpringBoot Controller Post接口单元测试示例
概述 在日常的开发中,我们一般会定义一个service层,用于实现业务逻辑,并且针对service层会有与之对应的齐全的覆盖率高的单元测试.而对于controller层,一般不怎么做单元测试,因为主要的核心业务逻辑都在service层里,controller层只是做转发,调用service层接口而已.但是还是建议使用单元测试简单的将controller的方法跑一下,看看转发和数据转换的代码是否能正常工作. 在Spring Boot里对controller层进行单元测试非常简单,只需要几个注解和一
-
spring boot 集成 shiro 自定义密码验证 自定义freemarker标签根据权限渲染不同页面(推荐
项目里一直用的是 spring-security ,不得不说,spring-security 真是东西太多了,学习难度太大(可能我比较菜),这篇博客来总结一下折腾shiro的成果,分享给大家,强烈推荐shiro,真心简单 : ) 引入依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4
-
Spring Boot中优雅的获取yml文件工具类
如何在spring boot中优雅的获取.yml文件工具类呢 代码如下: package com.common.base.utils.base; import com.common.base.generator.ResourceManager; import org.yaml.snakeyaml.Yaml; import java.io.InputStream; import java.util.HashMap; import java.util.Map; /** * yml文件工具类 */ p
随机推荐
- CentOS6.3添加nginx系统服务的实例详解
- Centos 7中Docker私有仓库的搭建方法
- VBS中的标识符(Identifiers)
- exit(-1)或者return(-1)shell得到的退出码为什么是255
- SQL Server 2012降级至2008R2的方法
- 内存型数据库Redis持久化小结
- java通过ip获取客户端Mac地址的小例子
- 使用coffeescript编写node.js项目的方法汇总
- PHPExcel导出2003和2007的excel文档功能示例
- 使用maven+eclipse搭建struts2开发环境
- MySQL中Distinct和Group By语句的基本使用教程
- php笔记之:php函数range() round()和list()的使用说明
- JavaScript事件委托的技术原理探讨示例
- js禁止页面使用右键(简单示例代码)
- 用CSS开发时髦的导航栏图例教程
- 对Web开发中前端框架与前端类库的一些思考
- 面向对象继承实例(a如何继承b问题)(自写)
- Linux命令中的rpm安装命令
- javascript中的变量作用域以及变量提升详细介绍
- 你可能会用到的16个Linux命令