修改的步驟如下:
Step 1.
把Spring使用的ANTLR jar,原本放在WEB-INF/lib/antlr-2.7.6rc1.jar,複製到C:\bea\wlserver_10.0\samples\domains\wl_server\lib
Step 2.
修改 C:\bea\wlserver_10.0\samples\domains\wl_server\bin\setDomainEnv.cmd
在 set CLASSPATH=%PRE_CLASSPATH%; 的後面加上 C:\bea\wlserver_10.0\samples\domains\wl_server\lib\antlr-2.7.6rc1.jar; 如同下面的範例
set CLASSPATH=%PRE_CLASSPATH%;C:\bea\wlserver_10.0\samples\domains\wl_server\lib\antlr-2.7.6rc1.jar;%WEBLOGIC_CLASSPATH%;%POST_CLASSPATH%;%WLP_POST_CLASSPATH%
另外在設定spring跟hibernate的時候,程式裡面要取得Spring的ApplicationContext可以將spring設定檔放在classes/config裡面,並將路徑設定為:
ApplicationContext springContext = new ClassPathXmlApplicationContext("config/bean/bean-config*.xml");
在spring設定檔中,要建立org.springframework.orm.hibernate3.LocalSessionFactoryBean的sessionFactory bean的時候,可以把hibernate設定檔中資源路徑的地方,設定為以下的方式,總共有四種mappingResources、mappingLocations、mappingDirectoryLocations與mappingJarLocations可以使用,因為weblogic會自動將classes裡面的設定檔跟.class檔案都jar在_wl_cls_gen.jar這個檔案裡面,以前用mappingDirectoryLocations classpath:/config/mappings/mysql這個寫法,是不能運作的,改成這個也不行 mappingLocations classpath*:/**/mappings/mysql/**/*.hbm.xml,最後才試出這種寫法,在tomcat跟weblogic都可以正常運作
Spring的資源處理比我想像的還厲害,Chapter 4. Resources Chapter 4. 資源,在指定資源路徑的時候,支援類似ANT的資源指定方式。