`
wzhongyu
  • 浏览: 23067 次
  • 性别: Icon_minigender_1
  • 来自: 美丽春城
社区版块
存档分类
最新评论

Spring 找不到文件异常(java.io.FileNotFoundException)

阅读更多

本文转自敝人另外一个博客~

初学Spring,做第一个试验时很多人都会碰到一个问题,就是程序执行时不能正常执行显示预期结果,而是会显示一些异常信息,主要就是java.io.FileNotFoundException这个异常信息。我在做实验时也遇到了这个问题,现在把我遇到的问题及解决方法贴出来,希望能让初学Spring的人少走点弯路。
        第一种情况:使用Myeclipse工具创建Spring项目时,按照书上的例子写好程序后,执行时出现该异常。这时需要注意到,Myeclipse默认的把applicationContext.xml文件放在项目的src目录下,而一般我们看到的例子在读取这个文件时使用的语句如下:

代码1 :

ApplicationContext context = new FileSystemXmlApplicationContext("applicationContext.xml"); 

 

其实这时这么写就不行了,因为这个语句在查找applicationContext.xml文件时是在项目的根目录下查找,而不会到src目录下查找。这时,应该把语句改为:


代码2:

ApplicationContext context = new FileSystemXmlApplicationContext("src/applicationContext.xml"); 

 
即加上src这个目录,就不会出错了。如果不是使用Myeclipse而是使用eclipse自己导入spring包进行开发,就要先看一下在建项目的时候,是选择把.java文件和.class文件分开放置还是放在同一个目录,如果选择了分开放置则情况和上面的一样(前提条件是applicationContext.xml文件也是自己建在src目录下);如果选择了把.java文件和.class文件放在同一个目录下,这时就要看建applicationContext.xml文件时放在哪个目录下了,如果是放在根目录下,就使用代码1的代码就可以了。如果把applicationContext.xml文件和.java文件放在了同一个目录下,这个时候就要加上程序的包路径了,如我的Java源程序的包名是org.wzhongyu,我就要用下面的语句来实现:
代码3:(注意:这里不能用org.wzhongyu.applicationContext.xml,因为程序会认为org.wzhongyu.也是文件名的内容) 

ApplicationContext context = new FileSystemXmlApplicationContext("org/wzhongyu/applicationContext.xml"); 

 
        第二种情况:使用eclipse+springIDE进行开发,而配置文件使用属性配置文件(即.properties文件),出现异常。这时应该注意,配置文件应该放在CLASSPATH路径下,如果建项目的时候没有选择把.java文件和.class文件分开放置,那么这个.properties文件就应该放在项目的根目录下,这样不会出错。如果建项目的时候,选择了把.java文件和.class文件分别放在src目录和bin目录下,这时一定要注意把.properties文件放在src根目录下,否则就会出错。但是,我们读取这个配置文件的时候,一定不能加上src这个目录,用下面的代码:
代码4:

BeanDefinitionRegistry reg = new DefaultListableBeanFactory(); 
        PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg); 
        reader.loadBeanDefinitions(new ClassPathResource("beans-config.properties")); 

 
这里没有加上src,因为程序执行的CLASSPATH就是在src根目录下,不放在这里就会出错,就是出现java.io.FileNotFoundException这个异常信息。

 

分享到:
评论

相关推荐

    spring无法读取properties文件数据问题详解

    Spring 无法读取 properties ...Spring 无法读取 properties 文件数据问题可能是由于配置文件路径不正确、配置文件不存在或多个配置文件导致的。通过正确配置配置文件的路径和加载所有的配置文件,可以解决这些问题。

    java读取properties配置文件

    - 异常处理:读取文件和流操作可能会抛出异常,如`FileNotFoundException`和`IOException`,应妥善处理。 - 锁定与并发:如果多个线程同时读写`Properties`对象,需考虑同步控制,以避免数据不一致。 通过以上...

    springboot实现文件上传下载.zip

    throw new FileNotFoundException("文件不存在!"); } } } ``` 在这个控制器中,我们定义了两个方法:`uploadForm`用于展示上传文件的表单页面,`handleFileUpload`用于接收并处理文件上传的请求。`...

    使用IDEA启动项目遇见ClassNotFoundException的解决方案

    at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ....... 二、正确的解决姿势 1. 是否添加了mysql驱动 在pom.xml文件中添加mysql驱动依赖项: <groupId>mysql <artifactId>mysql-connector-...

    mqtt接收数据并保存

    下面,我们将详细讲解如何配置Java环境、集成MQTT客户端库、连接MQTT服务器、订阅主题以及处理接收到的数据。 1. **环境准备**: 在开始编写Java代码之前,确保已经安装了JDK并配置好环境变量。此外,还需要一个...

    springboot上传下载文件

    在Spring Boot框架中,文件上传和下载是常见的功能需求,主要涉及到Spring MVC和Apache Commons IO这两个组件。Spring MVC是Spring框架的一部分,它提供了处理HTTP请求和响应的强大能力,包括文件上传和下载。Apache...

    火狐报错事项

    - `java.io.FileNotFoundException`: 进一步指出具体问题是找不到`META-INF/xfire/services.xml`这个文件。 - `classpath resource [META-INF/xfire/services.xml] cannot be opened because it does not exist`: ...

    java实现word模板的自动替换

    - **异常处理**:Java的异常处理机制是必不可少的,尤其是处理文件I/O时可能出现的`FileNotFoundException`、`IOException`等。 2. **Apache POI库**: - **XWPFDocument**:这是Apache POI处理.docx文件的主要类...

    IO——test

    5. **IO异常处理**:在IO操作中,我们经常会遇到各种异常,如FileNotFoundException、IOException等,良好的异常处理是保证程序稳定运行的关键。 6. **NIO(非阻塞IO)与AIO(异步IO)**:对于高性能应用,Java提供...

    java简单读取properties配置文件的方法示例

    * 广泛应用:Properties配置文件在Java中非常常见,例如 Hibernate 框架、Spring 框架等都使用Properties配置文件来存储配置信息。 Java中读取Properties配置文件的缺点: * 安全性:Properties配置文件可以被轻易...

    springboot项目打成jar包后无法获取static下的静态资源文件的问题分析

    错误信息“java.io.FileNotFoundException”通常是因为尝试访问的文件路径不存在于文件系统中。 对于这种情况,需要使用类加载器提供的方法来访问jar包内的资源。具体操作是通过调用`this.getClass()....

    集成Minio实现文件的分布式对象存储.zip

    // 处理文件找不到异常 } } // 其他操作,如downloadFile、deleteObject等 } ``` 在实际应用中,你可能还需要处理更多复杂场景,比如文件分块上传、权限控制、生命周期管理等。此外,可以通过SpringBoot的...

    java面试笔试题大汇总

    - 一般异常( checked exception)是编译时需要处理的异常,例如文件未找到异常(`FileNotFoundException`),需要显式声明或捕获。 5. **Servlet生命周期** - Servlet生命周期包括初始化(`init()`)、服务(`...

    tomcat加载jar异常问题的分析与解决

    在此例中,异常信息是:“java.io.FileNotFoundException:D:\.m2\repository\org\bytedeco\javacpp-presets\hdf5-platform\1.10.3-1.4.3\hdf5.jar(系统找不到指定的文件。)”。这表明Spring Boot应用在启动时,尝试...

    springboot打jar包之后下载文件的路径问题

    `java.io.FileNotFoundException: file:\C:\Users\PENGXIN\Desktop\网络安全\jars\wlaqWeb-0.0.1-SNAPSHOT.jar!\BOOT-INF\classes!\static\securityParameter\template\网络安全台账(模板).xlsx` 这表明尝试以常规...

    Project2:第52组-第2阶段(项目2)

    5. **IO流**:Java的IO流用于读写文件,网络通信等。在项目中,可能需要处理输入输出,比如读取配置文件、写入日志、或者与其他系统进行数据交换。 6. **多线程**:Java提供了对并发编程的支持,包括Thread类、...

Global site tag (gtag.js) - Google Analytics