解决异常FileNotFoundException:class path resource找不到资源文件的问题
近期很多小伙伴问我,为何启动项目的时候Spring
或 Spring MVC
资源文件找不到 ,这里我总结几个问题出现的原因和解决方案
一、问题的原因
为何会出现这种FIleNotFoundException
呢? 原因无非两点:
- 1、路径配置错误
- 2、编译有问题,文件不存在
二、解决办法:
对于第一个原因,这个我们不多说,大家自己看看JavaWeb项目中classpath路径详解,改好配置目录路径,第一个原因排除,给大家一个案例参考
至于第二个原因,编译不成功,导致文件不存在,拿Eclipse
or MyEclipse
为例, 首先去项目的编译目录查看资源文件和class
文件是否编译成功
如果编译目录的下不存在资源文件,那么编译不成功, 解决办法也很简单,选择Eclipse
工具栏上的Project
, 选择clean up
,并勾选下面的 Build Automatically
,这样就会自动编译了,等编译完成,你再看文件目录,是否存在资源文件,存在了,则完美解决
如果还不行,那么看看你是否是通过第三方插件或工具来进行编译的,重新对项目进行编译就好了
以上问题都没有疑问的话,还有可能是依赖下载过程出错,删掉依赖重新下载即可
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
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的区别 这是
-
Spring Boot应用事件监听示例详解
前言 本文主要给大家介绍了关于Spring Boot应用事件监听的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1. Spring Boot特有的应用事件 除了Spring框架的事件,Spring Boot的SpringApplication也发送了一些自己的事件: ApplicationStartingEvent:在任何处理(除了注册listener和initializer)开始之前发送. ApplicationEnvironmentPreparedEvent: 在
-
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 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-
-
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
-
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使用Thymeleaf + Gradle构建war到Tomcat
Spring Boot 以Jar的方式部署启动,这个不用介绍了, 之前也介绍了关于 Spring Boot + thymeleaf 的简单使用 ,但是今天遇到一个问题, 我先描述下问题的场景: 由于运维部门的需求,项目需要以war的形式放到tomcat运行 ,而不是原定的jar的方式运行 配置了一下午,也查了一下午的资料,以war的方式在Tomcat能运行,并且能访问Controller,但是在返回html视图时,找不到视图模板.最终发现问题在Thymeleaf的配置,话不多说,具体看操作步骤:
随机推荐
- AngularJS日程表案例详解
- MongoDB中如何使用JOIN操作详解
- javascript放大镜效果的简单实现
- JavaScript比较两个对象是否相等的方法
- 正则表达式 学习参考 推荐入门者看
- 解决Windows 7下安装Oracle 11g相关问题的方法
- PHP使用递归生成文章树
- 基于C++自动化编译工具的使用详解
- 使用迭代器 遍历文件信息的详解
- 通过php快速统计某个数据库中每张表的数据量
- redis+mysql+quartz 一种红包发送功能的实现
- 解析SQL Server聚焦移除(Bookmark Lookup、RID Lookup、Key Lookup)
- MySQL查询结果复制到新表的方法(更新、插入)
- master and slave have equal MySQL server UUIDs 解决方法
- VC运用OPENGL加载BMP纹理图的实现方法汇总
- 云网在线支付漏洞初探(图)
- Nginx与Tomcat实现动静态分离和负载均衡
- Android控件SeekBar仿淘宝滑动验证效果
- Android ViewPager实现选项卡切换
- Python中表达式x += y和x = x+y 的区别详解