Weblogic10与Oracle Linux部署应用常见问题与解决方案

需积分: 10 5 下载量 160 浏览量 更新于2024-09-21 收藏 32KB DOCX 举报
在将应用从Tomcat环境迁移到Oracle WebLogic 10的Linux服务器上时,开发者遇到了一系列问题。首先,当试图通过WebLogic管理服务器以war包形式部署应用时,遇到了虚拟交换内存不足的问题。这是因为项目规模较大,导致在文件上传过程中内存消耗超出限制。解决这个问题的方法是找到并编辑`startWebLogic.sh`或`bin/setDomainEnv.sh`(通常在`/Middleware/user_projects/domains/base_domains/bin`)文件,增加PermSize和MaxPermSize的值,如调整为256M和512M,以适应更大的内存需求。 然而,即使解决了内存问题,新的挑战随之而来。当使用war包部署时,由于WebLogic不是像Tomcat那样先解压war再启动,而是直接以war文件启动,应用中的JSP和Servlet依赖于真实路径,而war文件中的这些路径是不可见的,导致`this.servletContext.getRealPath("/")`返回不正确的值,如null。为了解决这一问题,开发者决定采用文件目录部署的方式,即直接在WebLogic管理服务器上指定包含WEB-INF/web.xml的本地应用文件夹。 具体操作是创建一个新的应用程序安装目录,例如在WebLogic域管理目录的子路径下: 1. `/deploy/applications/app` 2. `/deploy/applications/plan` `app`目录用于存放应用文件,将开发完成的应用复制至此。这种方法的优势在于避免了因使用war包部署带来的路径问题,并且方便后续应用的更新维护。 总结来说,迁移过程中的主要问题是内存管理与路径依赖。通过调整WebLogic的内存设置和采用文件目录部署,开发者成功地解决了这些问题,确保了应用能在Oracle Linux和WebLogic 10的环境中稳定运行。