在Weblogic Server上安裝Hibernate
現在需要下載Hibernate。Hibernate的 站點 整潔、內容豐富,而且下載過程沒有一點兒延遲。兩個單獨的下載包括Hibernate Core version 3.2和一個稱為Hibernate EntityManager vers的JPA覆蓋。
<target name="install-hibernate">
<property name="domain.lib" value="C:/bea/wlserver_10.0/samples/domains/wl_server/lib"/>
<property name="hibernate.core.dir" value="D:/hibernate/core-3.2"/>
<property name="hibernate.core.dir" value="D:/hibernate/entitymanager-3.3.1"/>
<copy todir="${domain.lib}" overwrite="false">
<fileset dir="${hibernate.core.dir}">
<include name="hibernate*.jar"/>
</fileset>
<fileset dir="${hibernate.core.dir}/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${hibernate.jpa.dir}">
<include name="hibernate*.jar"/>
</fileset>
<fileset dir="${hibernate.jpa.dir}/lib">
<include name="*.jar"/>
</fileset>
</copy>
</target>
如何告知Weblogic Server關于Hibernate類庫的信息?但最重要的是我們需要哪個類庫?在Hibernate Core中,我發現了39個庫,而它的 JPA覆蓋有6個之多。我采用了最省事的方式。在這個簡單的 Ant任務的幫助下,將所有的45個庫放入了Weblogic Server實例域的共享庫(即${bea.home}/wlserver_10.0/samples/domains/wl_server/lib)中。
當然,有些庫應該更容易區分,應該除去那些明顯的諸如jta.jar或junit-3.8.1.jar的庫,F在這些庫中許多是Weblogic Server 10.0集成的一部分。實際上,已經在${bea.home}/modules目錄中發現了140個jar。要知道有很多關于Weblogic中的antlr庫與Hibernate中的antlr庫之間發生沖突的 恐怖故事,不過我還未遇到過。
關于在共享空間放置Hibernate庫的重點是它們沒有與應用程序封裝在一起。在相同的域中部署的任何應用程序現在都可以使用Hibernate。當有許多依賴于不同Hibernate版本的應用程序時,很明顯這種方式不再適用了。否則,在共享庫中的這種放置方式可以避免其他的問題(產生問題的bug還沒有投下陰影)。
部署和運行
現在,已經安裝了Hibernate,編寫了Java源,配置文件和構建腳本也已經就緒。下一步要對應用程序進行編譯、封裝和部署。我正是這樣做的。
$ ant -Dprovider=hibernate deploy 在服務器端,我得到一個堆棧跟蹤:(
weblogic.application.ModuleException: Exception preparing module: EJBModule(hibernate-ejb.jar)
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:399)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56)
Truncated. see log file for complete stacktrace
文章來源于領測軟件測試網 http://www.kjueaiud.com/