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下删除:
backport-util-concurrent-3.0.jar
dom4j-1.6.1.jar
hibernate3.jar
jaxen-1.1-beta-11.jar
ehcache-1.5.0.jar

并且删除war包的web-inf/lib下与AS的applib下的冲突的jar包(版本号不同也要删除),本地有如下包:
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


这样可以部署和重新热部署,而且也可以正常访问。AS部署的时候有一个注意事项,如图:




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

你可能感兴趣的:(oracle,Web,quartz,grails,Acegi)