最近公司需要用到weblogic9.2做开发,关于两者之间的整合网上一搜一大堆,而且和整合tomcat的方法基本相同,本文中只列出相关步骤,在这里我谈一下在整合一下在整合过程中遇到的一些问题,以及在开发过程中关于缓存问题解决的方法。
一)MyEclipse 5.5和Weblogic 9.2整合步骤:
1.点击MyEclipse工具栏上的“Window”->"Preferences"->"MyEclipse"->"Aplication Servers"->"Weblogic"->"Weblogic 9.x"。
2.Weblogic Server 选择"Enable"
3.
BEA home directory:D:\bea。假定WebLogic安装在D:\bea文件夹中。
4.WebLogic installation directory:D:\BEA\weblogic92。
5.Administrator username:weblogic。
6.Administrator password:weblogic。
7.Execution domain root:D:\bea\user_projects\domains\base_domain。 已设置此路径为工作域。
8.Execution server name:AdminServer。
9.Security policy file:D:\bea\weblogic92\server\lib\weblogic.policy。
10.JAAS login configuration file:省略。
11.点击Apply。
12.展开"Weblogic 9.x"选项,点击“Launch”。
13.确认External management server 选为"This server is running standalone",确认Weblogic launch mode 选为"Debug mode"
。 14.点击"OK"
。
二)解决整合以后依然不能运行的问题
按照以上配置后操作我们熟悉的"deploy"->"run"发布,启动应用,但是有可能因为由于MyEclispe的Bug依然不成功,因此编辑D:\bea\user_projects\domains\base_domain\config\config.xml文件,在<admin-server-name>AdminServer</admin-server-name>这一行前添加如下代码:
<app-deployment>
<name>_appsdir_EAI_Manage_dir</name>
<target>AdminServer</target>
<module-type>dir</module-type>
<source-path>autodeploy/EAI_Manage</source-path>
<security-dd-model>DDOnly</security-dd-model>
<staging-mode>stage</staging-mode>
</app-deployment>
注意:其中EAI_Manage为项目名称.
再尝试发布运行代码,OK!运行成功.
三)清除缓存问题
按照以上的配置方式可以通过MyEclipse去发布运行应用到Weblogic 9.2上,但是在实际开发过程中又遇到了一个由于缓存引起的问题:在项目的Webroot下添加一个页面后,通过浏览器访问此页面居然返回404错误!
例如:在Webroot下添加一个MyJsp.jsp页面,然后访问http://localhost:7001/EAI_Manage/MyJsp.jsp后返回404错误.
为了解决这个问题,我在"D:\bea\user_projects"下搜索"EAI_Manage"发现有如下结果:
1.D:\bea\user_projects\domains\base_domain\autodeploy\EAI_Manage
2.D:\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\_appsdir_EAI_Manage_dir
3.D:\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_TEMP_APP_DOWNLOADS\_appsdir_EAI_Manage_dir\
4.D:\bea\user_projects\domains\base_domain\servers\AdminServer\stage\_appsdir_EAI_Manage_dir\ 其中
1为MyEclipse通过deploy部署到weblogic上的,与MyEclipse目录结构一致,分析结果:正常.
2为weblogic中jsp生成的.class文件所在的文件夹,分析结果:正常.
3文件夹中存在一个*.jar文件,通过测试后发现此文件中有在启动时才会生成,并且在生成之后不会改变.分析结果:此文件为缓存. 4文件夹中存在EAI_Manage文件夹,通过测试后发现文件夹中的内容与3文件夹中的内容一致,并且在启动weblogic之间删除3文件夹中的内容,而不删除此文件夹,依然存在缓存问题.分析结果:此文件夹为缓存. 在开发过程中,当weblogic启动时,由于文件在使用中,不能删除3和4文件夹.但是每次清除缓存都需要重起服务器又降低了开发效率,因此希望找出一个方法,像tomcat那样热部署.查阅bea的官方文档后发现需要修改
staging-mode参数.
缓存解决方法:修改D:\bea\user_projects\domains\base_domain\config\config.xml中我们刚才所添加的配置文件,将staging-mode节点改成nostage即可,配置文件代码示例如下:
<app-deployment>
<name>_appsdir_EAI_Manage_dir</name>
<target>AdminServer</target>
<module-type>dir</module-type>
<source-path>autodeploy/EAI_Manage</source-path>
<security-dd-model>DDOnly</security-dd-model>
<staging-mode>nostage</staging-mode>
</app-deployment>