websphere中web的路径找不到问题?tomcat正常,websphere中找不到路径

本文探讨了在Websphere环境中遇到的文件路径问题,并对比了Tomcat中的正常行为。通过对classes目录结构的调整和配置文件位置的变化,提出了两种有效的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

websphere中web的路径找不到问题?tomcat正常,websphere中找不到路径

案例:

项目中一些文件路径为
WEB-INF
	|-- classes
		|-- xwork.xml
		

	|-- webwork-config
		|-- xwork-config-pay.xml
		|-- ……
		|-- xwork-config-XXX.xml
xwork的配置:
<include file="../webwork-config/xwork-config-pay.xml"/>

 在tomcat中运行一切正常,不过在websphere中就不正常了,提示找不到文件:xwork-config-pay.xml

 

 猜测原因:

websphere中classes被单独的classloader加载后存在一个空间,与WebRoot的加载空间被隔离开来了

而在tomcat是由同一个loader加载的,所以相对路径未变,可以正确找到文件

 

解决方法一:

修改为如下结构
WEB-INF
	|-- classes
		|-- xwork.xml
		
		|-- webwork-config
			|-- xwork-config-pay.xml
			|-- ……
			|-- xwork-config-XXX.xml
			

中xwork中配置修改为:
<include file="webwork-config/xwork-config-pay.xml"/>

 经过测试一切OK!

 

解决方法二:

当然就是吧xwork.xml配置文件不放入classes中而是WEB-INF目录下就可以了

 

总结:对于classes和jar中的路径一个通用路径就是classpath:XXX,他们都是相对于classpath路径的,spring就提供了此机制,但是其他开源项目可能没有考虑全面单classes和jar中的资源被加载后可能相对于原来在WebRoot中的路径就发生了变化^ ^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值