天天看點

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

網上有很多文章都說eclipse要安裝額外的插件才能支援weblogic,可能以前需要這樣,但自從bea的weblogic被oracle收購後,現在已經很簡單了

一、先下載下傳 Free Oracle WebLogic Server 12c (12.1.1) Zip Distribution and Installers for Developers

<a href="http://www.oracle.com/technetwork/middleware/fusion-middleware/downloads/index.html">http://www.oracle.com/technetwork/middleware/fusion-middleware/downloads/index.html</a>

這個安裝以後,就已經自帶了Eclipse(而且已經內建了weblogic插件),安裝完成後,可以通過 “開始菜單-&gt;所有程式-&gt;Oracle Enterprise Pack for Eclipse-&gt;Oracle Enterprise Pack for Eclipse” 啟動

二、64位機器上,Eclipse啟用失敗的問題

出錯時,提示資訊如下:

Java was started but returned exit code=1

...

網上找了很多文章,都說是修改eclipse.ini配置或重新安裝32位JVM,但我試了貌似都無效,最後發現還是得在環境變量裡修改:

2.1 添加系統環境變量JAVA_HOME,其值為 c:\bea\jdk160_29\  (此處修改為自己機器上的jdk實際實體目錄)

2.2 PATH環境變量最後添加 ;%JAVA_HOME%\bin\

2.3 添加系統環境變量 CLASSPATH,其值為  .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

檢測這些變量是否正确的最簡單辦法:在指令行cmd視窗裡,輸入javac -version,要是能出java版本号就說明ok

三、在Eclipse裡設定Weblogic Server

找到Servers面闆,點選"New Server wizard"

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

選擇 對應的weblogic版本

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

指定weblogic的domain目錄

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

如果你已經建立了dynamic web project,還可以把指定的項目應用到該weblogic伺服器

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

(當然也可以直接點選Finish)完成,弄完後,就能看到目前伺服器的狀态(如果沒有啟用,就會顯示Stopped)

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

可以右鍵-&gt;Start,就可以直接在Eclipse下啟用WebLogic了 

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

四、svn插件的安裝

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

把Subclipse Plugin、Subversion Book 這二個都勾上,然後一路Next就OK了,安裝過程中,可能會彈一個警告框,不用理會,全部選擇繼續安裝

五、測試svn

5.1 先建立一個Dynamic Web Project

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

注意:Traget runtime以及Configuration 二項都要選擇對應的Weblogic(後面還會利用這個項目,測試部署weblogic)

5.2、簽入代碼(check in)

在Project Explorer 中,選中剛建立的myWeb,然後右鍵-&gt;Team-&gt;Share Projet 就能簽入代碼了(當然要填寫一些基本資訊,比如svn資源庫路徑,使用者名、密碼等)

5.3、簽出代碼(check out)

建立項目時,也可以選擇直接從svn伺服器上check out,方法:New-&gt;Other

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

六、測試 WebLogic

6.1、項目運作時的自動部署

在剛建立的myWeb裡建立二個jsp檔案:home.jsp和about.jsp

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

啟動後,eclipse會自動start weblogic server,同時會自動部署myWeb應用

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

6.2、網站的預設頁設定

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

在iis中,可以通過設定站點的預設文檔來實作這個需求。在weblogic中,就得通過其它方式來處理,修改web.xml檔案:

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

把web.xml中,webcome-file-list中的第一個welcome-file節點值設定成home.jsp,這樣就行了。

6.3、純手動部署應用(war包)

開發時,我們可以借助eclipse自動實作weblogic部署,但是真正上線時,通常都是通過war包來手動部署的。

6.3.1、 通過eclipse導出war包

在項目myWeb上右擊-&gt;export-&gt;war file,這樣就得到了一個war檔案:myWeb.war ,它本質上就是一個标準的壓縮檔案,可以用winrar,7-zip之類的壓縮軟體打開。

6.3.2、登入weblogic手動部署war包

找到"部署"界面,如果是新安裝的weblogic,部署清單裡應該是空的(另外如果剛才在eclipse環境中,運作過項目myWeb,部署清單中可能會有一個自動部署的myWeb,建議大家先在eclipse環境中的server面闆中,把自動部署的myWeb給delete掉,否則後面再手動部署一個同名應用時會失敗)

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

找到剛才導出的myWeb.war包,然後猛擊“下一步”,一路向西,直至完成

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

部署完成後,應用會自動運作

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

6.3.2、域名綁定

6.3.2.1、 建立一個虛拟主機

找到虛拟主機面闆

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

建立一個新虛拟主機,命名為"VirturlHost-myWeb"

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

建立完成後,輕按兩下"VirtualHos-myWeb"

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建
java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

6.3.2.2、 将myWeb應用挂到虛拟主機上

在部署面闆,輕按兩下myWeb修改目标屬性,将虛拟主機Virtualhost-myWeb前的勾選中

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

6.3.2.3、 修改7001端口為80

在伺服器面闆,輕按兩下"AdminServer"把監聽端口從7001,改成80

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

6.3.2.4、 修改根路徑myWeb為/ 

以部署面闆,輕按兩下myWeb,修改上下文根,從"myWeb"改成"/"

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建
java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建
java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

6.3.3、建立weblogic web service

建立一個WebLogic Web Service Project 命名為myWebService

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

6.3.3.1、建立用于傳輸的實體類PersonEntity

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

  

6.3.3.2、建立web service“接口契約”及“實作”

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建
java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

接口定義

接口實作

6.3.3.3、部署 及 WSDL測試

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建
java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

6.3.3、eclipse 環境中調用weblogic web service

6.3.3.1、建立用戶端調jar包

File-&gt;New 建立一個Weblogic Web Service Client

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

WSDL選擇Remote,并輸入WSDL的遠端位址

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

指定生成用戶端jar的路徑(其實用預設的就行了)

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

指定“運作時從遠端擷取wsdl”

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

完成後,eclipse就會生成一個jar包

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

6.3.3.2、利用用戶端jar包,調用web service

随便建立一個java project,命名為wsCallDemo,在project屬性時,把剛才生成的jar包添加進來

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

在eclipse裡,輕按兩下PersonService.jar包,可以看到裡面有很多自動生成的類

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

寫幾行代碼測試一下:

java學習:eclipse + Weblogic 12c + svn 內建開發環境搭建

注:以上方法,對于調用.net wcf服務同樣适用。需要特别注意的是:對于String類型的比較,在java web service中,一定要用 equals來判斷二個字元串(内容)是否相等,如果用==号,永遠傳回false,但是在正常java project中,==号與equals結果卻相同(初次接觸java web service,暫時尚未完全參透,看了一些相關的文章,==号是判斷二個字元串是否引用相同,而equals是判斷二個字元串是否内容相同,在正常java project中測試時,String未被序列化傳輸,jvm内部二個字元串的引用、内容都是相同的,但在web service中使用時,字元串會被序列化傳輸,反序列化時,相當于建立了一個全新的字元串執行個體對象,導緻引用不同)

繼續閱讀