【转】Weblogic上servletContext.getRealPath函数返回Null

------------------------------------以下为原文-------------------------------------

[b]一、问题描述:[/b]

1.当应用以WAR的形式布署到WebLogic时,代码中的servletContext.getRealPath函数为空。(不包含以目录形式发布的情况)

2.发布或启动应用时出现如下异常信息:

Cannot set web app root system property when WAR file is not expanded

[b]二、涉及版本:[/b]

WebLogic的各版本都可能有此问题。

[b]三、问题原因:[/b]

WebLogic在发布WAR格式的应用时,servletContext.getRealPath的默认实现仅返回Null。

[b]四、解决方案:[/b]

在应用的WEB-INF/weblogic.xml文件中(如没有请自行创建),<container-descriptor>元素内加入配置片断<show-archived-real-path-enabled>true</show-archived-real-path-enabled>。

即:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">

<weblogic-web-app>
<container-descriptor>
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>
</weblogic-web-app>


-------------------------------------------------------------------------------

碰到同样问题,该入weblogic.xml后,servletContext.getRealPath取值正常。

原文地址:[url]http://wiki.bsdn.org/pages/viewpage.action?pageId=3440713[/url]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值