站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题Eclipse插件之WebLogic Plugin 2.0.0

Eclipse插件之WebLogic Plugin 2.0.0

摘要: Eclipse插件之WebLogic Plugin 2.0.0
<tr> <td>

  本文介绍如何利用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


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

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


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



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



      显示启动成功。

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



      修改WebLogic Server的配置



      删除WebLogic Server的配置



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



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

      停止WebLogic服务器



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


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

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

      重新启动:假如我们通过浏览器或其它控制端部署了一个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...
  • </td> </tr> </table>
    ↑返回目录
    前一篇: 搭建Eclipse+MyEclipse开发环境
    后一篇: WIN2003上Apache2+IIS6+Tomcat5之多站点完美配置篇