网站大量收购闲置独家精品文档,联系QQ:2885784924

tomcat环境下开发的应用移植到weblogic下.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在将tomcat环境下开发的应用移植到weblogic下的过程中遇到了各种问题,特在此记录。一、在一开始时准备将web应用打成war包,使用weblogic管理服务器安装,遇到了第一个问题错误一:意外的异常 在处理请求时出现意外的异常情况消息:堆栈跟踪: java.lang.NullPointerExceptionat com.bea.console.actions.app.install.Flow.uploadApp(Flow.java:256)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)省略数千字……………错误二:java.lang.OutOfMemoryError: unable to create new native thread问题分析:这些错误都是在文件上传时,因为我们的工程较大,导致虚拟交换内存不足引起的,将修改weblogic的虚拟内存调大后,解决了问题。解决办法:找到weblogic启动文件 startWebLogic.sh,由于该文件实际上又调用了bin/setDomainEnv.sh文件,所以真正要改的是setDomainEnv.sh(在我这里该文件位于/Middleware/user_projects/domains/base_domains/bin)将PermSize 和MaxPermSize调整到 256和 512(按实际需要来调)二、这时候,我们这样可以没问题了吧,谁知一部署,第二个问题来了错误:java.lang.IllegalStateException: Cannot set web app root system property when WAR file is not expanded问题分析:出现这个原因是因为部署的时候使用的是war包, weblogic部署应用不像tomcat先将war解压在启动,而是直接使用war启动。因为我们在很多JSP和Servlet文件中使用了如:this.servletContext.getRealPath(/)等类似写法,因为在war中的文件时没有真实路径的,所以getRealPath(/)取出来的都是意向不到的值,例如null。解决办法:由于用这种写法获得web服务器路径的地方很多,一个个去换显然不是一个很好的办法,而且直接使用war部署对后续的应用更新也比较麻烦,所以准备采用另外一种部署方式,就是文件目录部署。三、文件目录部署使用文件目录部署指的是用weblogic管理服务器安装,直接指定本地的应用文件夹,只要该文件夹下面有包含WEB-INFweb.xml,就可以被选中安装。所以接下来就是建立应用程序的安装目录。在区别于weblogic域管理目录路径,我们在根路径创建了目录。/deploy/applications/app/deploy/applications/planapp : 准备用来存放app应用,在文件夹建好以后,将我们的应用(如:wzfy)整个文件夹拷贝到app下面。plan : 这个文件夹当weblogic管理服务器安装了app下面的应用后,会在这里自动建立app的部署计划文件。在管理服务器中,找到目录/deploy/applications/app ,选中wzfy,开始安装。第三个问题出现无法访问选定应用程序。Exception in AppMerge flows progressionException in AppMerge flows progression[J2EE:160111]ERROR: Appc can not write to the working directory, /deploy/applications/app/wzfy. Please ensure that you have write permission for this directory and try again.通过文字意思的理解,就是对于操作用户来说/deploy/applications/app/wzfy是不可写的。奇怪,我们手动建立目录都是可写的呀?怎么用webLogic Server安装就变成不可写了呢。一想,我们建立用户用的root用户,目录操作肯定没问题,而我webLogic Server登录的用户如果没有授权肯定是没有这个权限。于是给webLogic Server用户 weblogic授予对目录/deploy/applications/的访问权限。授权方法如下:chown –Rf webl

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档