java加载spring时找不到配置文件.

发布于 2021-11-23 14:25:02 字数 1576 浏览 899 评论 1

背景:因需要处理支付宝的异步通知,所以把处理业务封装成了接口,在jsp上实例化再调用处理相关数据.

问题:实例化的过程中加载不到applicationContext.xml

异常信息:



运行环境:centos,resin(/usr/resin),java1.6

java代码:

public static String ROOT = OrderAction.class.getClassLoader().getResource("").toString().replaceAll("file:/", "").replaceAll("/WEB-INF/classes/", "");
	
	
	public OrderAction(){
		String xmlPath = (System.getProperty("os.name").toLowerCase().indexOf("linux")!=-1?"/":"")+ROOT+"/WEB-INF/conf/applicationContext.xml";

		File xmlFile = new File(xmlPath) ;
		if(xmlFile.exists()){
			logger.error("get the file "+xmlPath) ;
			ApplicationContext context = new FileSystemXmlApplicationContext(xmlPath); 
					taskService =  (ITaskService) context.getBean("taskService") ;
					commonservice = (CommonService) context.getBean("commonServices") ;
					logger.error("-----"+taskService==null) ;
					logger.error("-----"+commonservice==null) ;
		}else{
			logger.error("xml not exit !"+xmlPath) ;
		}
	}



OrderAction oa = new OrderAction() ;
oa.handle(request.getRemoteAddr(),"201408141016588003", "success") ;




applicationContext.xml实际路径是 /usr/shared/webapps/ROOT/WEB-INF/conf/applicationContext.xml
不明白为什么会把resin的路径给加上了.应该和resin无关吧~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妖妓 2021-11-26 23:15:14

File classFloder = new File(OrderAction.class.getClassLoader().getResource("").getPath());

File confFloder = new File(classFloder.getParentFile(),"conf");

File applicationContext = new File(confFloder,"applicationContext.xml");

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文