最近写一个小程序,本来开发环境是JDK1.6,运行环境是Tomcat6.0,结果后来才知道需要部署在Linux平台Weblogic8.1中,可想而知面临着多大的改动,必经Weblogic8.1只支持JDK1.4,Servlet2.3。
到最后遇到一个棘手的问题,一个JavaBean中需要获取到项目的上下文路径,经过一番周折,试过一下几种方式
System.getProperty("user.dir"):/usr/local/bea/weblogic/user_projects/domains/base_domain
new File(".").getAbsolutePath():/usr/local/bea/weblogic/user_projects/domains/base_domain/.
new File("/"):/
this.getClass().getClassLoader().getResource("").getPath():/usr/local/bea/weblogic/user_projects/domains/base_domain/autodeploy/UpgradePro/WEB-INF/classes/
Thread.currentThread().getContextClassLoader().getResource(""):file:/usr/local/bea/weblogic/user_projects/domains/base_domain/autodeploy/UpgradePro/WEB-INF/classes/
FileHelperImpl.class.getClassLoader().getResource(""):file:/usr/local/bea/weblogic/user_projects/domains/base_domain/autodeploy/UpgradePro/WEB-INF/classes/
ClassLoader.getSystemResource(""):file:/usr/local/bea/weblogic/user_projects/domains/base_domain/
FileHelperImpl.class.getResource(""):file:/usr/local/bea/weblogic/user_projects/domains/base_domain/autodeploy/UpgradePro/WEB-INF/classes/com/mls/upgrade/biz/
结果都不能直接得到想要的结果,都需要手动拼接字符串,没办法只有通过Servlet监听context获取
public final class ContextHelper implements ServletContextListener {
public static ServletContextEvent context = null;
/**
* ServletContext上下文
*/
public void contextInitialized(ServletContextEvent context) {
Factories.context = context;
}
public void contextDestroyed(ServletContextEvent arg0) {
}
}
在需要获取上下文路径的地址直接引用String contextPath=Factories.context.getServletContext().getRealPath("");即可达到目的。
结果问题又来了,项目部署时提示一个警告
[Application: '/rdsh/weblogic/bea/user_projects/domains/
s_srv/aaaa', Module: 'UpgradePro']: Deployment descriptor "w
eb.xml" is malformed. Check against the DTD: org.xml.sax.SAX
ParseException: cvc-elt.1: Cannot find the declaration of el
ement 'web-app'. (line 5, column 52).>
原来web.xml中配置的
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
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">
而WebLogic8.1只支持到2.3,于是改成
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
</web-app>
并将Listener提前到Servlet配置之前(否则会提示错误)即可。
分享到:
相关推荐
Weblogic 的安装过程可以分为两部分:Linux 下安装过程和 Windows 中安装过程。下面是 Linux 下安装过程的详细步骤: 1. 部署前准备:创建 weblogic 用户组和用户,创建 /Oracle 目录,并修改目录所有者权限。 2. ...
通过以上步骤,可以在Linux系统中成功安装和配置WebLogic服务器。整个过程包括了创建必要的用户和用户组、配置工作目录、设置环境变量、安装WebLogic软件以及创建新的WebLogic服务等关键环节。这不仅有助于确保...
步骤描述清楚详细,原创资源! Linux安装weblogic12详细步骤
在Linux系统中创建WebLogic域的过程对于初次接触这项任务的技术人员来说可能会有些复杂,但只要按照步骤来,就可以顺利完成。下面将详细介绍如何在Linux环境下安装并发布WebLogic域。 ##### 1. 登录Linux服务器 ...
5. 安全性与权限管理:这可能包含如何设置Linux系统的用户权限、WebLogic的安全策略和Oracle数据库的角色与权限分配。 6. 故障排查与日志分析:这部分资料可能指导你如何理解和解析系统日志,以及如何解决常见的运行...
### Linux系统更换JDK与WebLogic服务器更换JDK详解 #### 一、概述 在Linux环境中,更换JDK(Java Development Kit)对于确保应用程序能够稳定运行至关重要。此外,如果使用了Oracle WebLogic Server作为应用服务器...
在Linux环境下安装WebLogic并部署项目是企业IT环境中常见的任务。以下是一个详细的步骤指南: 1. **安装前准备** - 以`root`用户登录Linux系统,通常建议创建一个新的用户组和用户,比如`weblogic`,以降低安全...
在《Linux下Weblogic安装.pdf》这一文档中,详尽地阐述了在Linux环境下安装、配置及运行Oracle WebLogic Server的全过程,WebLogic是Oracle公司的一款高性能应用服务器,广泛应用于企业级Java EE应用的开发与部署。...
本文档详细介绍了如何在Red Hat Enterprise Linux (RHEL) 6.5 64位操作系统上安装WebLogic 10.3.6版本,并部署应用程序。此过程适用于三台服务器(1台Web服务器、1台应用服务器和1台接口服务器),并且使用JDK 1.5。...
linux 下weblogic部署web项目,先新建新端口,然后配置用shartxxxx.sh后台启动项目,最后部署项目
在 Linux 操作系统下安装 Oracle Weblogic 服务器需要满足一定的系统要求和配置环境。以下是详细的安装步骤和知识点: 一、系统要求 * 物理内存至少 1G,swap 空间至少 2G * 硬盘空间至少 5G 以上 * Linux 操作...
在 AIX 系统上安装 WebLogic 92 之前,首先需要确保系统环境中已经安装了合适的 Java 环境。本部分将详细介绍如何在 AIX 下安装 Java 5。 ##### 1. 介质获取与上传 - **介质获取**:首先,需要从 IBM 官方网站获取...
Linux 和 WebLogic 是两个重要的标签,它们分别代表了安装 WebLogic 服务器的操作系统和应用服务器的名称。 知识点 ### 1.1 部署前准备 在安装 WebLogic 服务器之前,需要进行一些准备工作。首先,需要创建一个...
在Linux环境下部署WebLogic集群是一项关键的任务,它涉及到服务器的配置、JDK的安装、WebLogic Server的安装以及集群的创建和管理。以下是一份详尽的步骤指南: 首先,确保系统环境满足WebLogic Server的运行需求。...
在Linux系统中,WebLogic服务器的管理通常涉及创建和配置启动脚本来简化操作。这个启动脚本可以在系统启动时自动启动WebLogic,并将其置于后台运行,同时具备日志备份功能。下面我们将详细讨论如何实现这一目标,...
在IT领域,尤其是在企业级应用部署中,Linux操作系统与Oracle WebLogic Server的组合常常被用于构建高可用性和可扩展性的集群环境。Weblogic 9在Linux下的集群配置是一项关键任务,它涉及到系统的稳定运行和高效服务...
在Linux操作系统中部署Oracle WebLogic Server 9.2是一项关键的任务,对于构建和管理Java应用程序服务器平台至关重要。以下是一份详细的安装指南,帮助您逐步完成这一过程。 1. 准备工作: 首先,确保您的Linux...
1. **系统版本确认**:根据给定的部分内容中的 `lsb_release -a` 命令输出结果,我们得知当前系统为 Oracle Linux Server release 6.1。 2. **内核版本**:通过 `uname -r` 命令得到的内核版本为 2.6.32-100.34.1.el...
安装完成后,需要更新系统的环境变量,以确保WebLogic的相关路径被正确添加到`CLASSPATH`和`PATH`中。编辑`/etc/profile`文件,添加WebLogic相关的路径,然后执行`source /etc/profile`使改动生效。 创建WebLogic域...