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中的路径就发生了变化^ ^
分享到:
相关推荐
将web应用从Tomcat5移植到Websphere6.doc将web应用从Tomcat5移植到Websphere6.doc
在websphere8.5 下部署含有CXFwebservice的war包无法正常启动,而相应的war包在tomcat上是可以正常启动的,通过后台的日志分析大致可以定位为相关的cxf类无法找到,其实这些类在项目的lib目录下都是存在的,莫名其妙...
WebSphere下的所有jar文件名和路径
在websphere通过getClassLoader().getResource("").getPath()取配置文件的路径跟在tomcat环境下是不一样的,如果配置文件是放在classes目录下,会报找不到配置文件。 发布应用时,报web.xml文件有错 发布应用成功,...
经常发现在开发时在tomcat部署、run都没问题,实施发布到was上的websphere上就冲突报错了。这里总结下两个web容器部署的差异!!
WebSphere安装、配置与WEB应用部署教程
将web应用从Tomcat5移植到Websphere6.pdf
在websphere中设置解决中文显示乱码问题
WebSphere 的Web服务器插件是Web服务器与WebSphere应用服务器之间联系的纽带,Web服务器插件的主要作用是将HTTP请求从Web服务器转发给WebSphere应用服务器,但如何将请求转发给WebSphere应用服务器却一直是一个谜...
在创建数据源后,在java中使用数据源时tomca和was的引用方法是不同的
websphere上web应用发布 websphere上web应用发布
图文并茂,详细描述pinpoint安装部署、监控tomcat、weblogic、webSphere 实际操作,自己编写
WebSphere-Web服务器安全配置基线.docx
java项目,自己做的项目利用jmx监控weblogic,tomcat,websphere源码
Websphere 中生成日志问题
websphere常见问题及解决办法 如 Error 404: SRVE0190E JSPG0049E
详细描述了WebLogic、WebSphere、JBOSS、Tomcat之间的区别