将应用部署到weblogic10及oracle linux时遇到的问题_第1页
将应用部署到weblogic10及oracle linux时遇到的问题_第2页
将应用部署到weblogic10及oracle linux时遇到的问题_第3页
将应用部署到weblogic10及oracle linux时遇到的问题_第4页
将应用部署到weblogic10及oracle linux时遇到的问题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

将应用部署到weblogic10及oraclelinux时遇到的问题将应用部署到weblogic10及oraclelinux时遇到的问题将应用部署到weblogic10及oraclelinux时遇到的问题将应用部署到weblogic10及oraclelinux时遇到的问题编制仅供参考审核批准生效日期地址:电话:传真:邮编:将应用部署到weblogic10及oraclelinux时遇到的问题

公司一个项目准备在这几天上线,在用户现场搭建好服务器运行环境后,我们的主要工作就是将应用移植到新的环境中。

部署环境介绍开发环境介绍操作系统OracleEnterprise-R5-U5-Server-x86_6windows7/windowsxp中间件Weblogicservertomcat6JDKJ2EESDK数据库OracleOracle

在将tomcat环境下开发的应用移植到weblogic下的过程中遇到了各种问题,特在此记录。一、在一开始时准备将web应用打成war包,使用weblogic管理服务器安装,遇到了第一个问题错误一:意外的异常在处理请求时出现意外的异常情况消息:堆栈跟踪:

Method)at省略数千字……………错误二:

unabletocreatenewnativethread问题分析:

这些错误都是在文件上传时,因为我们的工程较大,导致虚拟交换内存不足引起的,将修改weblogic的虚拟内存调大后,解决了问题。解决办法:

找到weblogic启动文件

,由于该文件实际上又调用了bin/文件,所以真正要改的是(在我这里该文件位于/Middleware/user_projects/domains/base_domains/bin)将PermSize

和MaxPermSize调整到

256和

512(按实际需要来调)二、这时候,我们这样可以没问题了吧,谁知一部署,第二个问题来了错误:CannotsetwebapprootsystempropertywhenWARfileisnotexpanded问题分析:

出现这个原因是因为部署的时候使用的是war包,

weblogic部署应用不像tomcat先将war解压在启动,而是直接使用war启动。因为我们在很多JSP和Servlet文件中使用了如:"/")等类似写法,因为在war中的文件时没有真实路径的,所以getRealPath("/")取出来的都是意向不到的值,例如null。解决办法:

由于用这种写法获得web服务器路径的地方很多,一个个去换显然不是一个很好的办法,而且直接使用war部署对后续的应用更新也比较麻烦,所以准备采用另外一种部署方式,就是文件目录部署。三、文件目录部署

使用文件目录部署指的是用weblogic管理服务器安装,直接指定本地的应用文件夹,只要该文件夹下面有包含WEB-INF\,就可以被选中安装。

所以接下来就是建立应用程序的安装目录。在区别于weblogic域管理目录路径,我们在根路径创建了目录。/deploy/applications/app/deploy/applications/planapp:

准备用来存放app应用,在文件夹建好以后,将我们的应用(如:wzfy)整个文件夹拷贝到app下面。plan:

这个文件夹当weblogic管理服务器安装了app下面的应用后,会在这里自动建立app的部署计划文件。在管理服务器中,找到目录/deploy/applications/app

,选中wzfy,开始安装。第三个问题出现无法访问选定应用程序。ExceptioninAppMergeflows'progressionExceptioninAppMergeflows'progression[J2EE:160111]ERROR:Appccannotwritetotheworkingdirectory,'/deploy/applications/app/wzfy'.Pleaseensurethatyouhavewritepermissionforthisdirectoryandtryagain.

通过文字意思的理解,就是对于操作用户来说/deploy/applications/app/wzfy是不可写的。奇怪,我们手动建立目录都是可写的呀怎么用webLogicServer安装就变成不可写了呢。一想,我们建立用户用的root用户,目录操作肯定没问题,而我webLogicServer登录的用户如果没有授权肯定是没有这个权限。于是给webLogicServer用户

weblogic授予对目录/deploy/applications/的访问权限。 授权方法如下:chown

–Rfweblogic:weblogic/deploy/applications 授权后,安装部署,一路走下来,非常顺利,直到启动wzfy,第四个问题出现四、创建sessionFactory失败"context"failedtopreloadonstartupinWebapplication:"wzfy".Errorcreatingbeanwithname'sessionFactory'definedinServletContextresource[/WEB-INF/]:Initializationofbeanfailed;nestedexceptionisinnamedqueries:queryViewByModuleID,querySecParentOwnerById,中间省略数千字………………………at问题分析:

碰到这个问题后,一头雾水,这怎么解决呢,第一想法是可能因为我们在hibernate中映射文件中使用namequeries(命名查询)的方式,会不会是weblogic不认呢通过google和baidu了很多资料,很试了很多方法,都已失败告终,最后在发现了有一个哥们在blog中总结的一段内容,问题解决。5、

Hibernate3、Axis部署问题Hibernate3中的默认值为,在WebLogic下系统运行时会抛出ClassNotFoundException:异常。这个问题网上说的很多,解决方法也各式各样,其实很简单,Weblogic系统默认加载EJB-QLparser,存在重名类,所以使用时会出现ClassNotFoundException。一般网上的修改方式都是修改startWebLogic运行的脚本,将文件优先加载。但这样的方法会带来一些其他问题,所以不推荐使用。最好的方法是,在WEB-INF目录下建一个文件,文件中写入如下代码:<xmlversion=""encoding="UTF-8"><!DOCTYPEweblogic-web-appPUBLIC"-/DTDWebApplication/EN"""><weblogic-web-app>

<container-descriptor>

<prefer-web-inf-classes>true</prefer-web-inf-classes>

</container-descriptor></weblogic-web-app>说明:prefer-web

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论