首页 > 开发 > 综合 > 正文

Eclipse插件之WebLogic Plugin 2.0.0

2024-07-21 02:14:39
字体:
来源:转载
供稿:网友

  本文介绍如何利用eclipse插件weblogic plugin在eclipse中的使用。

  eclipse是目前非常流行的开发平台,开放扩展的架构让很多程序员找到了自己个性化的工作环境。

  问题提出:

  weblogic目前是使用比较多的应用服务器之一,eclipse是流行的ide,如何集成起来开发使用呢?

  解决方法:

  采用bea提供的weblogic plugin来进行集成开发。

  安装

  jdk:1.4.2或1.5.0 从http://java.sun.com上去下载安装,如果是weblogic 8.x.x系列的版本,应当选用jdk 1.4.2的版本。

   eclipse:3.1.2 从http://www.eclipse.org 上去下载解压

   weblogic plugin 从https://eclipse-plugin.projects.dev2dev.bea.com/下载

  技巧 eclipse使用技巧之插件管理

  提示:新下载的插件plugin一定不要都放在原始的eclipse目录下去,一大堆,累死你。

  • 前提是你已经安装好了eclipse工具了,比如安装在e:/opensource/eclipse/目录下,以下这个目录以%eclipse_home%来进行表示;
  • 此时默认的插件是在%eclipse_home%/plugins目录中的;
  • 在%eclipse_home%下建立一个pluginsnew的目录;比如:e:/opensource/eclipse/pluginsnew/
  • 你下载了个新的插件,比如叫做:xyz

      那么就在%eclipse_home%/pluginsnew/目录下建立xyz目录,目录里面是eclipse目录,eclipse目录包含有features与plugins两个子目录;结构如下图所示:


  • 把下载的新插件的文件放在以下相应目录中

       %eclipse_home%/pluginsnew/xyz/eclipse/features

      %eclipse_home%/pluginsnew/ xyz/eclipse/plugins
  • 建立相关的.link的文件

      然后在%eclipse_home%/links目录里建立一个xyz.link的文件

      内容如是:path=e:/opensource/eclipse/pluginsnew/xyz就一行这样的路径指示而已。

      这样,如果你下载了多个插件就可以如法炮制建立多个link文件,想加载哪个插件就把哪个插件的link文件放到%eclipse_home%/links的目录中即可,使用与管理都很方便,建议千万不要放在默认的安装目录中;

      如果你的%eclipse_home%与此不同,请修改xyz.link文件里的路径
  • 删除,关闭eclipse

      删除%eclipse_home%/links/xyz.link文件即可

      删除%eclipse_home%/pluginsnew/xyz整个目录及文件
  • 重新启动eclipse即可使用
      
      weblogic plugin现在有两个版本1.1.1和2.0.0。1.1.1只是能够配置一台服务器,并只提供启动停止服务器的功能,没有redeploy、undeploy;2.0.0可以配置多台,可以redepoly、undeploy,不过没有deploy功能,而且还有一大bug,就是只是每次重启eclipse要重新设置一下用户与密码即可。对1.1.1感兴趣的朋友,可以查看:http://dev2dev.bea.com.cn/bbs/thread.jspa?forumid=124&threadid=34318&tstart=120。下面介绍2.0.0版本的集成使用方法。以及bug的修改。

      weblogic plugin 2.0.0 功能
    • 启动、停止weblogic 服务器
    • 利用jdt为高度j2ee的应用程序
    • 选择weblogic域
    • 配置weblogic服务器的启动参数
      要求
    • eclipse sdk 2.0.0 或更高的版本
    • weblogic server 6.0或更高的版本
      安装

      插件安装方法有两种方式:
    • 一种就是采用上一节的《eclipse使用技巧之插件管理》
    • 另一种就是通过update manager的形式来下载安装
      地址是:https://eclipse-plugin.projects.dev2dev.bea.com/update

      安装步骤如下:

      help è software updates è find and install…

  •   配置weblogic plugin

    • 菜单 windows è preferences ,然后选中weblogic节点可以看到右边配置的服务器实例列表,可以增加、修改、删除相应的服务器配置。

    • 现在开始增加服务器配置,在general标签设置以下各个参数
      • 设置服务器配置的显示名称
      • 选择你的weblogic server的版本
      • 设置bea home 的目录
      • 设置weblogic home的目录
      • 设置domain 的名称
      • 设置domain 的目录
      • 设置server 的名称
      • 设置host机器名称或ip,本机填localhost即可(weblogic.admin使用的)
      • 设置端口号(weblogic.admin使用的)
      • 设置ssl端口号(weblogic.admin使用的),注意:这个要先在控制台http://localhost:7001/console/ 里先设置好才行,要不然保存时检测不到就保存不了。
      • 设置管理员名称(是有权限启动这个server的用户名称如默认的weblogic)
      • 设置密码


    • 在classpath配置标签栏里,可以设置如下参数:
      • pre-startup weblogic classpath,是设置在weblogic类库加载之前要先加载的一些类库
      • prost-startup weblogic classpath,是设置在weblogic类库加载之后才要开始进行加载的一些类库


        注意是先后顺序的不同,根据你的项目需要进行设置之,重新启动eclipse后,在java.class.path=的前与后会增加进来你设置的这些classpath


    • 在runtime配置标签栏里,可以设置如下参数
      • jre(选择用来启动weblogic server所要用到的jdk,这个可以在菜单window è preferences è java è installed jres里进行配置的,上面说过了,要注意根据你的weblogic的版本选择其相应支持的jdk方可。
      • vm arauments(设置传递给javavm的参数,如最大与最小堆栈大小,以什么模式启动weblogic server,本例我们假设以产品模式启动)
      • jni library path(设置要加载jni时的搜索路径)
      • run mode(设置以产品模式还是开发模式进行启动weblogic server)


    • 菜单 windows è show view è other …

      可以看到weblogic分类下面有weblogic servers菜单项,选择并打开它。

      这样可以在这里进行启动、停止weblogic server等操作。


    • 选中weblogic 下的 project节点,并进行如下参数的设置

      project added to the end of the classpath,通过add按钮,可以选择你所要加载的项目,这样所选中的项目里所有的类库量也会自动地加进来的,不过它的加载顺序是在classpath的最后面。
    启动weblogic服务器

    • 在打开的视图中,右键,选择start就可以启动weblogic server了



      在控制台会有如下的启动信息显示:



      显示启动成功。

      在这里也可以进行增加其它weblogic server的配置,如下:



      修改weblogic server的配置



      删除weblogic server的配置



      也可以查看相应的帮助文档,如下:



      打开weblogic plugin的帮助文档进行查阅,可惜没有看到。

      停止weblogic服务器

    • 在打开的视图中,右键,选择stop就可以停止weblogic server了



      在控制台会有如下的停止信息显示:


      部署、重新启动、停止应用程序

      部署应用:只能通过浏览器去部署新的应用,没有找到这里可以直接进行部署的地方。

      重新启动:假如我们通过浏览器或其它控制端部署了一个web application上去了。

      这时,通过插件停止weblogic,再启动它后,双击展现web appplication modules,可以在下面看我们部署上去的应用了。不过,而慢进行停止再启动。

      可以直接通过插件提供的刷新功能就会把部署上去的模块展现出来,如下:



      这时,要重新启动应用程序的话,只要在应用名称上面右键,在弹出的菜单中选择redeploy即可重新部署应用了,速度很快的。



      删除应用程序的话,只要在应用名称上面右键,在弹出的菜单中选择undeploy即可删除应用了,模块名称立马消失,速度很快的,要重新部署又得通过浏览器或其它控制端来完成了。



      总结

      此插件的功能给予我们方便地集成eclipse与weblogic的开发使用,提高了效率。

      bug一个,大家要注意。

      关闭eclipse之后重新启动eclipse后,这时要启动weblogic会发现以下错误而启动不了,郁闷了吧:)

    <critical>
    <security>
    <bea-090402>
    <authentication denied: boot identity not valid;
       the user name and/or password from the boot identity file
       (boot.properties) is not valid. the boot identity may have been changed
       since the boot identity file was created. please edit and update
       the boot identity file with the proper values of username and password.
       the first time the updated boot identity file is used to start the server,
       these new values are encrypted.> *************************************************************************** the weblogic server did not start up properly. reason: weblogic.security.securityinitializationexception:
    authentication denied: boot identity not valid;
    the user name and/or password from the boot identity file (boot.properties) is not valid.
    the boot identity may have been changed since the boot identity file was created.
    please edit and update the boot identity
    file with the proper values of username and password.
    the first time the updated boot identity file is used to start the server,
    these new values are encrypted. ***************************************************************************


      不过解决的办法也简单,看到下图的信息了吧,这个插件在对用户进行存取的时候出了问题,导致错误的,你每次重新启动eclipse后,要修改一下weblogic的配置文件,把里面的用户名用密码再保存后才行的。


    后记
      文章写完后,我又修复了上述的bug,这里重点再阐述一下解决过程:解压、反编译、替换加密方法、编译、重打包、关闭eclipse、覆盖、重启:)

  • 1、weblogic plugin 2.0.0的配置文件保存在
    %eclipse_home%/workspace/.metadata/.plugins/com.bea.weblogic.eclipse/目录下
    dialog_settings.xml是保存配置对话框的大小之类的文件
    servers.xml是保存服务器配置信息的文件
  • 解压出weblogic-eclipse.jar里的所有文件
  • 反编译com/bea/weblogic/eclipse/utils/xmlutil.class得到xmlutil.java
    在里面增加两个函数
    /**   * 将 source 进行 base64 编码   *    * @param source   * @return   */ public static string buildbase64(string source) {   if(source == null)   {    return null;   }   return (new sun.misc.base64encoder()).encode(source.getbytes()); } /**   * 将 base64 编码的字符串 base65code 进行解码   *    * @param base65code   * @return   */ public static string getfrombase64(string base65code) {   if(base65code == null)   {    return null;   }   base64decoder base64decoder = new base64decoder();   try   {    byte[] b = base64decoder.decodebuffer(base65code);    return new string(b);   }   catch(exception e)   {    e.printstacktrace();    return null;   } } 
  • 在public iserverinstall[] loadservers(file serversfile)函数里修改
    cserverinstall.setusername(cryptoutil.getdefault().decrypt(new string(base64util.base64tobytearray(getnodevalue(celement))),id)); 为 cserverinstall.setusername(getfrombase64(getnodevalue(celement))); 修改 cserverinstall.setpassword(cryptoutil.getdefault().decrypt(new string(base64util.base64tobytearray(getnodevalue(celement))),id)); 为 cserverinstall.setpassword(getfrombase64(getnodevalue(celement))); 
  • 在public void saveservers(iserverinstall servers[],file serversfile)函数里修改
    org.w3c.dom.text usernametext = doc.createtextnode(base64util.bytearraytobase64(cryptoutil.getdefault().encrypt(cserver.getusername(),cserver.getid()).getbytes())); 为 org.w3c.dom.text usernametext = doc.createtextnode(buildbase64(cserver.getusername())); 修改 org.w3c.dom.text passwordtext = doc.createtextnode(base64util.bytearraytobase64(cryptoutil.getdefault().encrypt(cserver.getpassword(),cserver.getid()).getbytes())); 为 org.w3c.dom.text passwordtext = doc.createtextnode(buildbase64(cserver.getpassword())); 
  • 编译这个xmlutil.java得到xmlutil.class,把xmlutil.class打回weblogic-eclipse.jar包里
  • 关闭eclipse
  • weblogic-eclipse.jar 覆盖掉原来插件目录里的文件
  • 重新启动eclipse
  • enjoy...


  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表