Eclipse外掛程式之WebLogic Plugin 2.0.0

來源:互聯網
上載者:User
web

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


  • 相關文章

    Cloud Intelligence Leading the Digital Future

    Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

    Register Now >

    Starter Package

    SSD Cloud server and data transfer for only $2.50 a month

    Get Started >

    Alibaba Cloud Free Trial

    Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

    Learn more >

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。