網上有很多文章都說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插件),安裝完成後,可以通過 “開始菜單->所有程式->Oracle Enterprise Pack for Eclipse->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"

選擇 對應的weblogic版本
指定weblogic的domain目錄
如果你已經建立了dynamic web project,還可以把指定的項目應用到該weblogic伺服器
(當然也可以直接點選Finish)完成,弄完後,就能看到目前伺服器的狀态(如果沒有啟用,就會顯示Stopped)
可以右鍵->Start,就可以直接在Eclipse下啟用WebLogic了
四、svn插件的安裝
把Subclipse Plugin、Subversion Book 這二個都勾上,然後一路Next就OK了,安裝過程中,可能會彈一個警告框,不用理會,全部選擇繼續安裝
五、測試svn
5.1 先建立一個Dynamic Web Project
注意:Traget runtime以及Configuration 二項都要選擇對應的Weblogic(後面還會利用這個項目,測試部署weblogic)
5.2、簽入代碼(check in)
在Project Explorer 中,選中剛建立的myWeb,然後右鍵->Team->Share Projet 就能簽入代碼了(當然要填寫一些基本資訊,比如svn資源庫路徑,使用者名、密碼等)
5.3、簽出代碼(check out)
建立項目時,也可以選擇直接從svn伺服器上check out,方法:New->Other
六、測試 WebLogic
6.1、項目運作時的自動部署
在剛建立的myWeb裡建立二個jsp檔案:home.jsp和about.jsp
啟動後,eclipse會自動start weblogic server,同時會自動部署myWeb應用
6.2、網站的預設頁設定
在iis中,可以通過設定站點的預設文檔來實作這個需求。在weblogic中,就得通過其它方式來處理,修改web.xml檔案:
把web.xml中,webcome-file-list中的第一個welcome-file節點值設定成home.jsp,這樣就行了。
6.3、純手動部署應用(war包)
開發時,我們可以借助eclipse自動實作weblogic部署,但是真正上線時,通常都是通過war包來手動部署的。
6.3.1、 通過eclipse導出war包
在項目myWeb上右擊->export->war file,這樣就得到了一個war檔案:myWeb.war ,它本質上就是一個标準的壓縮檔案,可以用winrar,7-zip之類的壓縮軟體打開。
6.3.2、登入weblogic手動部署war包
找到"部署"界面,如果是新安裝的weblogic,部署清單裡應該是空的(另外如果剛才在eclipse環境中,運作過項目myWeb,部署清單中可能會有一個自動部署的myWeb,建議大家先在eclipse環境中的server面闆中,把自動部署的myWeb給delete掉,否則後面再手動部署一個同名應用時會失敗)
找到剛才導出的myWeb.war包,然後猛擊“下一步”,一路向西,直至完成
部署完成後,應用會自動運作
6.3.2、域名綁定
6.3.2.1、 建立一個虛拟主機
找到虛拟主機面闆
建立一個新虛拟主機,命名為"VirturlHost-myWeb"
建立完成後,輕按兩下"VirtualHos-myWeb"
6.3.2.2、 将myWeb應用挂到虛拟主機上
在部署面闆,輕按兩下myWeb修改目标屬性,将虛拟主機Virtualhost-myWeb前的勾選中
6.3.2.3、 修改7001端口為80
在伺服器面闆,輕按兩下"AdminServer"把監聽端口從7001,改成80
6.3.2.4、 修改根路徑myWeb為/
以部署面闆,輕按兩下myWeb,修改上下文根,從"myWeb"改成"/"
6.3.3、建立weblogic web service
建立一個WebLogic Web Service Project 命名為myWebService
6.3.3.1、建立用于傳輸的實體類PersonEntity
6.3.3.2、建立web service“接口契約”及“實作”
接口定義
接口實作
6.3.3.3、部署 及 WSDL測試
6.3.3、eclipse 環境中調用weblogic web service
6.3.3.1、建立用戶端調jar包
File->New 建立一個Weblogic Web Service Client
WSDL選擇Remote,并輸入WSDL的遠端位址
指定生成用戶端jar的路徑(其實用預設的就行了)
指定“運作時從遠端擷取wsdl”
完成後,eclipse就會生成一個jar包
6.3.3.2、利用用戶端jar包,調用web service
随便建立一個java project,命名為wsCallDemo,在project屬性時,把剛才生成的jar包添加進來
在eclipse裡,輕按兩下PersonService.jar包,可以看到裡面有很多自動生成的類
寫幾行代碼測試一下:
注:以上方法,對于調用.net wcf服務同樣适用。需要特别注意的是:對于String類型的比較,在java web service中,一定要用 equals來判斷二個字元串(内容)是否相等,如果用==号,永遠傳回false,但是在正常java project中,==号與equals結果卻相同(初次接觸java web service,暫時尚未完全參透,看了一些相關的文章,==号是判斷二個字元串是否引用相同,而equals是判斷二個字元串是否内容相同,在正常java project中測試時,String未被序列化傳輸,jvm内部二個字元串的引用、内容都是相同的,但在web service中使用時,字元串會被序列化傳輸,反序列化時,相當于建立了一個全新的字元串執行個體對象,導緻引用不同)