Weblogic11g部署web應用,有三種方式,很是簡單,可是不少新手部署老是出現若干錯誤,不知道如何解決。下面以白衣大神的springside3應用舉例(緣由是springside3頗有表明性)詳細講解:
一、準備springside3的應用(mini-web、mini-service),這裏我整理爲一個war包,一個web應用的文件夾,放在網盤上,提供下載。
http://pan.baidu.com/share/link?shareid=1314310108&uk=3222190371
二、自動部署(autodeploy方式)
上一篇http://my.oschina.net/u/927446/blog/160023 建立domain以後,domain所在目錄有個文件夾是autodeploy,如圖所示:
是的,沒錯,就是它。那還等什麼?第一步:直接把web應用文件夾(這裏以mini-web應用爲例)copy過去就能夠了。以下圖所示:
第二步:登陸domain的控制檯,點擊「域結構」-》「部署」,可看到以下界面:
說明此時web應用已經成功部署了【注意:1)觀察狀態,以及部署順序,2)上一篇domain建立時提到開發模式,這就是利用開發模式的輪訓自動熱部署的】
第三步:既然部署成功了,那麼趕忙訪問應用吧,以下圖所示:
實際上,autodeploy方式是不須要重啓domain的。
【注意點】
1)自動部署適合開發階段使用,在生產環境中,不建議使用
2)若是把應用copy到autodeploy中,在domain的控制檯中,點擊「域結構」-》「部署」,未發現若是所示的部署記錄,此時,你應該查看logs文件夾下面的日誌。通常狀況下,是你的應用問題致使部署失敗。
三、控制檯部署(console方式):
第一步:安裝web應用(這裏以mini-service應用爲例)
1)選擇安裝應用,如圖所示:
2)選擇應用位置,這裏以mini-service爲例,而且以war包部署:
【注意:這裏能夠選擇jar、rar、zip、war、ear、web應用文件夾】
3)下面幾步所有默認直到最後一步,點擊「完成」便可。
點擊「完成」按鈕以後,實際上domain正在爲你的配置加載web應用,此時你能夠觀察domain的命令控制檯(若是部署失敗,控制檯出現異常信息)。
wocao!居然有錯,截圖爲證:
此時返回console,再次回到部署的列表,以下圖所示:
很明顯,狀態爲「失敗」。此時你的頭腦應該在想,明明在tomcat下能夠跑,weblogic這麼爛,連個這麼簡單的應用都部署失敗?springside3你怎麼連weblogic都不支持?
好吧,咱們來分析錯誤的緣由(實際上不少應用在weblogic部署時,都會存在這些問題)
查看錯誤異常信息: html
Caused By: java.lang.NoSuchMethodError: org.apache.commons.lang.ClassUtils.getCl ass(Ljava/lang/String;)Ljava/lang/Class; at org.dozer.util.DefaultClassLoader.loadClass(DefaultClassLoader.java:3 1) at org.dozer.DozerInitializer.loadBeanType(DozerInitializer.java:116) at org.dozer.DozerInitializer.initialize(DozerInitializer.java:98) at org.dozer.DozerInitializer.init(DozerInitializer.java:75) at org.dozer.DozerBeanMapper.init(DozerBeanMapper.java:116) Truncated. see log file for complete stacktrace
<?xml version="1.0" encoding="UTF-8"?> <wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd"> <wls:container-descriptor> <wls:prefer-application-packages> <wls:package-name>org.apache.commons.*</wls:package-name> </wls:prefer-application-packages> </wls:container-descriptor> </wls:weblogic-web-app>
<app-deployment> <name>_appsdir_mini-web_dir</name> <target>AdminServer</target> <module-type>war</module-type> <source-path>autodeploy\mini-web</source-path> <security-dd-model>DDOnly</security-dd-model> <staging-mode>nostage</staging-mode> </app-deployment> <app-deployment> <name>mini-service</name> <target>AdminServer</target> <module-type>war</module-type> <source-path>D:\work\webapps\mini-service.war</source-path> <security-dd-model>DDOnly</security-dd-model> </app-deployment>