weblogic10.3郁闷调试笔记
最近要发布一个前人写的程序,原程序跑在tomcat下的。这次发布又是发布到weblogic10.3下面。
唉。想着就怕啊。就没有想过它会跑通。
问题一:
发布war包,weblogic10.3包控制台和前台页面,都报第一个错误。信息如下:
Unable to access the selected application.
Exception in AppMerge flows' progression
Exception in AppMerge flows' progression
Bean already exists: "weblogic.j2ee.descriptor.TagLibBeanImpl@34eeb6fb(//TagLibs[/WEB-INF/frame-information.tld])"
Bean already exists: "weblogic.j2ee.descriptor.TagLibBeanImpl@34eeb6fb(//TagLibs[/WEB-INF/frame-information.tld])"
仔细一看,原来是web.xml里面的mapping有重复的,就是对frame-information.tld的定义。删掉了重复的两条定义。这个问题解决。(不过为啥TOMCAT不报错,就不得而知了,不过这个前人也真是有点粗心啊,估计多ctrl + v了一下)
问题二:
这个问题就比较郁闷了。前人的一个自定义标签无法加载。原来它的标签类里面是这样书写的:
logPatternAbsolutePath = this.pageContext.getServletContext()
.getRealPath(style.getLogPattern());
if (log.isDebugEnabled()) {
log.debug("=========================style.getLogPattern():"
+ style.getLogPattern());
log.debug("========================logPatternAbsolutePath:"
+ logPatternAbsolutePath);
}
if (logPatternAbsolutePath == null || logPatternAbsolutePath.equals("")) {
log.debug("logPatternAbsolutePath is null!");
return BodyTagSupport.EVAL_BODY_INCLUDE;
}
其中的log.debug都是我后来加上的。最初由于没有这些DEBUG信息的帮助,我无法知道是哪里出了问题,只知道本来应该显示的页面显示的是空白。就是因为这里返回的空。
为什么在TOMCAT又是好的呢?因为TOMCAT和WEBLOGIC对这个getServletContext().getRealPath的实现不同,tomcat可以返回正确的路径,weblogic只会返回一个null。
后来查询WEBLOGIC的文档,做了如下处理,在weblogic.xml文件中加入了配置:
<container-descriptor>
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>
完整的weblogic.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
http://www.bea.com/ns/weblogic/90
http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
<context-root>/</context-root>
<container-descriptor>
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>
</weblogic-web-app>
顺带说一句,这个老项目很多路径都不是相对的,只能采用最土的办法,将项目发布在根“/”下面,这我们也没有时间去修改了。所以配置里面有<context-root>/</context-root>
分享到:
相关推荐
Weblogic10.3 优化设置, 在生产环境中优化weblogic,使得服务器性能更佳,减少服务器宕机等引起的风险。
详细介绍weblogic 10.3的安装过程
一、Weblogic服务程序设置: 1、设置JDK内存: 2、设置线程数: 3、Weblogic数据库连接池连接数设置: 4、Weblogic的服务设置[配置\优化]:
Weblogic10.3安装和配置.doc
Weblogic 10.3.6 2019年7月16日集成补丁包(p29633432_1036_Generic_20190716.zip),补丁名称:MXLE,下载文件中包含补丁安装说明和方法(自用详细步骤)。服务器打补丁前请注意做好备份,若与旧的补丁冲突,需卸载...
weblogic10.3 使用
weblogic103安装与部署步骤,详细介绍了weblogic的安装,及部署,步骤简单,简介明了。
公司需要,非得让安装个这么老版本的,全网找遍了找不到。没办法找客户要了一个。
公司需要,非得让安装个这么老版本的,全网找遍了找不到。没办法找客户要了一个。
Weblogic10.3 集群配置手册
Weblogic 10.3 新特性 中文版
windows环境, 图解基于Weblogic10.3和MyEclipse6.6的J2EE开发环境安装和配置
本文档主要是介绍Weblogic10.3的集群配置手册
sunone8.1到weblogic10.3转移配置
详细介绍weblogic在Linux suse上的安装流程,图文并茂,文档结构清楚
weblogic10.3集群文档 服务器 群集 java weblogic
了解weblogic10.3的性能如何优化
WebLogic10.3+Apache2.2集群配置图文指南
这个项目是SSH2+jquery做的一个例子,主要是在weblogic10.3上部署没有问题,很多人用这个架构在weblogic有问题,这个可以直接部署,页面用jquery做了一个权限的增删改的例子,非常实用
weblogic 10.3.6.0.210119补丁