天天看點

GRAILS OC4J 部署問題以及解決方案

版本:

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]

如果有人有更好的方案,請指教。