版本:
grails 1.0.4
acegi-plugin 0.4.1
quartz-plugin 0.3.3
oc4j_extended_101330
oracle 9i
ojdbc4.jar
資料源使用OC4J的managed-data-source
問題:
1、如果war包WEB-INF/lib下的jar包,保留在war包内,可以部署,但是不能重新熱部署,必須重新開機AS,而且無法通路,錯誤大緻是ClassNotFound hql.Token;
2、如果war包WEB-INF/lib下的jar包保留,而且全部copy到as的applib下,可以部署,但是不能重新熱部署,必須重新開機AS,通路正常;
3、如果war包WEB-INF/lib下的jar包不保留,全部copy到as的applib下,可以部署和重新部署,但是無法通路,大緻是無法load grails 類庫的錯誤;
解決方案:
把下面的jar包必須放到as的applib下,并且從war包的web-inf/lib下删除:
[color=blue]backport-util-concurrent-3.0.jar
dom4j-1.6.1.jar
hibernate3.jar
jaxen-1.1-beta-11.jar
ehcache-1.5.0.jar[/color]
并且删除war包的web-inf/lib下與AS的applib下的沖突的jar包(版本号不同也要删除),本地有如下包:
[color=blue]activation-1.1.jar
antlr-2.7.6.jar
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-dbcp-1.2.1.jar
commons-fileupload-1.1.1.jar
commons-httpclient-3.0.1.jar
commons-io-1.4.jar
commons-lang-2.1.jar
commons-logging-1.1.jar
commons-pool-1.2.jar
jta.jar
log4j-1.2.15.jar
mail-1.4.jar
ojdbc14.jar
oro-2.0.8.jar[/color]
這樣可以部署和重新熱部署,而且也可以正常通路。AS部署的時候有一個注意事項,如圖:
[img]/upload/attachment/69329/271af5d3-87ee-3cb9-a70b-c8ddee8b6b69.jpg[/img]
如果有人有更好的方案,請指教。