WebLogic和Myeclipse的整合部署

来源:互联网 发布:mysql 数据库快照 编辑:程序博客网 时间:2024/06/05 01:58


最近公司需要用到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\server

s\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>

0 0