本文转自敝人另外一个博客~
初学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 文件数据问题可能是由于配置文件路径不正确、配置文件不存在或多个配置文件导致的。通过正确配置配置文件的路径和加载所有的配置文件,可以解决这些问题。
- 异常处理:读取文件和流操作可能会抛出异常,如`FileNotFoundException`和`IOException`,应妥善处理。 - 锁定与并发:如果多个线程同时读写`Properties`对象,需考虑同步控制,以避免数据不一致。 通过以上...
throw new FileNotFoundException("文件不存在!"); } } } ``` 在这个控制器中,我们定义了两个方法:`uploadForm`用于展示上传文件的表单页面,`handleFileUpload`用于接收并处理文件上传的请求。`...
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ....... 二、正确的解决姿势 1. 是否添加了mysql驱动 在pom.xml文件中添加mysql驱动依赖项: <groupId>mysql <artifactId>mysql-connector-...
下面,我们将详细讲解如何配置Java环境、集成MQTT客户端库、连接MQTT服务器、订阅主题以及处理接收到的数据。 1. **环境准备**: 在开始编写Java代码之前,确保已经安装了JDK并配置好环境变量。此外,还需要一个...
在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的异常处理机制是必不可少的,尤其是处理文件I/O时可能出现的`FileNotFoundException`、`IOException`等。 2. **Apache POI库**: - **XWPFDocument**:这是Apache POI处理.docx文件的主要类...
5. **IO异常处理**:在IO操作中,我们经常会遇到各种异常,如FileNotFoundException、IOException等,良好的异常处理是保证程序稳定运行的关键。 6. **NIO(非阻塞IO)与AIO(异步IO)**:对于高性能应用,Java提供...
* 广泛应用:Properties配置文件在Java中非常常见,例如 Hibernate 框架、Spring 框架等都使用Properties配置文件来存储配置信息。 Java中读取Properties配置文件的缺点: * 安全性:Properties配置文件可以被轻易...
错误信息“java.io.FileNotFoundException”通常是因为尝试访问的文件路径不存在于文件系统中。 对于这种情况,需要使用类加载器提供的方法来访问jar包内的资源。具体操作是通过调用`this.getClass()....
// 处理文件找不到异常 } } // 其他操作,如downloadFile、deleteObject等 } ``` 在实际应用中,你可能还需要处理更多复杂场景,比如文件分块上传、权限控制、生命周期管理等。此外,可以通过SpringBoot的...
- 一般异常( checked exception)是编译时需要处理的异常,例如文件未找到异常(`FileNotFoundException`),需要显式声明或捕获。 5. **Servlet生命周期** - Servlet生命周期包括初始化(`init()`)、服务(`...
在此例中,异常信息是:“java.io.FileNotFoundException:D:\.m2\repository\org\bytedeco\javacpp-presets\hdf5-platform\1.10.3-1.4.3\hdf5.jar(系统找不到指定的文件。)”。这表明Spring Boot应用在启动时,尝试...
`java.io.FileNotFoundException: file:\C:\Users\PENGXIN\Desktop\网络安全\jars\wlaqWeb-0.0.1-SNAPSHOT.jar!\BOOT-INF\classes!\static\securityParameter\template\网络安全台账(模板).xlsx` 这表明尝试以常规...
5. **IO流**:Java的IO流用于读写文件,网络通信等。在项目中,可能需要处理输入输出,比如读取配置文件、写入日志、或者与其他系统进行数据交换。 6. **多线程**:Java提供了对并发编程的支持,包括Thread类、...