奇怪的错误 java.lang.ClassCastException: oracle.sql.BLOB

做好的项目在tomcat下面正常运行,放入myEclipse 编译、运行方便调试,又附加了同事提供的src。

使用MyEclipse部署到原tomcat,并启动来运行,表面正常,但提交blob的时候会出错。

java.lang.ClassCastException: oracle.sql.BLOB

 

同事那里不会出错,是因为客户使用MyEclipse编译class 然后手动拷贝classes到运行环境下,手动启动tomcat。

 

我们的运行环境.

运行环境tomcat 5.5+oracle10g


 

 

解决的方法:

在网上狂找,终于找到一位高人写的一篇高水平的文章(主要是把我的问题给解决了,哈)

是因为驱动包重复了,我理解为类重名,我使用的是tomcat数据源,哪么,$TOMCAT_HOME$\comm\lib目录下需要oracle驱动包,是给tomcat创建jndi数据源时用的,而项目中也要有oracle驱动包,是给程序编译用的,最后使用eclilpse的java build path进行外部引用,使用应用程序编译通过,但也不会把ojdbc14.jar的驱动包引入到发布目录,再试,果然解决了问题。

posted @ 2009-12-10 14:00  阿拉密斯  阅读(793)  评论(0编辑  收藏  举报