Weblogic8.1配置的總結

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 .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..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...

 

在這裏我要補充一點,就是關於weblogic啓動時會遇到的問題,在文中已經說過了,但是不是很詳細,怕有的朋友沒有注意到,所以再拿出來提一下,weblogic8.X版本都不支持jdk1.5,weblogic8.X版本只支持1.42,所以如果裝了1.5的朋友也不要緊,因爲在weblogic的文件夾下已經打包了一個JDK1.42版本,大家可以在配置的時候注意一下路徑的選擇問題.

還有一個問題就是關於上文中提到的weblogic配置時設置Server 的名稱的問題,如果你已經按照我之前發佈的weblogic配置的那篇word文檔配置過一個服務器的話,那麼在eclipse中關於server名稱的設置就要注意了,這個server名稱與之前你配置的不要重複,否則是無法啓動的,在eclipse中啓動weblogic時會有這樣的錯誤信息:

****************************************************************************************************************
The WebLogic Server did not start up properly.
Exception raised: 'weblogic.management.configuration.ConfigurationException: Unable to locate server named hiphop in the configuration file config.xml. Please ensure the argument -Dweblogic.Name=<serverName> matches a server name in that file, for example: <Server ... Name="someName"/>.A single server was found namedmyserver'
Reason: weblogic.management.configuration.ConfigurationException: Unable to locate server named hiphop in the configuration file config.xml. Please ensure the argument -Dweblogic.Name=<serverName> matches a server name in that file, for example: <Server ... Name="someName"/>.A single server was found namedmyserver
****************************************************************************************************************

編輯server,把server名稱換一個就可以正常啓動了,當然,這也是我在使用中犯的一個小小的錯誤,拿出來望大家引以爲戒.

關於weblogic的配置就說這些,如果有高人也在用java的,不管是在工作,還是在學習,希望能一起討論.

以後我還會發一些關於在公司中遇到的一些開發時需要注意的問題總結,希望能對大家有所幫助!近期會發布一些關於eclipse使用的一些知識總結,部分爲轉載,但對大家應該都會有幫助的!

 
發佈了44 篇原創文章 · 獲贊 4 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章