刚去新公司,第一天主要是处理入职材料,办公软件之类;第二天就是开发环境的配置;第三天就从SVN库上下载了公司项目,在本地运行,遇见了一系列问题,百度和google,以及咨询同事,外加自己推测和尝试,总算在下班前把项目跑起来了。
导入已存在的maven项目之后,就开始部署在tomcat上,报错如下:
严重:Exception sending context initialized event to listener instance of class
org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: E:\code\config\basis\app.properties(系统找不到指定的路径)
问题分析和解决:
方法一:
(1)从错误描述,可以看出是spring的bean在初始化的时候出了问题,所以找到该项目下的Java Resource->src/main/resources->META-INF->spring中的applicationContext.xml文件,查找bean中的property代码,如下所示:
<value>file:${config.root}/app.properties</value>
...
(2)在该项目的所有xml文件中查找config.root元素,发现其值如下:
<config.root>E:\code\config\basis</config.root>
很明显可以看出来,配置的文件路径,和我机器上代码的实际路径不同,我机器上从SVN上下载的配置文件,是在F盘中,所以只需要修改config.root的值即可,改为和实际一致,问题解决。
方法二:
可以明显看出来这个是配置文件路径,那么,可以直接在所有的xml文件中搜索“E:\code\config\basis”,就可以定位到config.root元素,然后查看该值是否与实际的代码路径相符合,不符合的话,按照实际的项目路径修改即可。