java web项目用SSH框架搭建的lib包共享问题
为什么提示A类不能强制转化成A类,这两个不是同个类吗?hibernate的所需的jar包不能放在tomcat的Lib下共享吗?
不下载会死星人
12 years, 7 months ago
Answers
如果你这个是TOMCATE6.0版本,在TOMCATE lib下得JAR是由common这个类加载器加载的,而你部署应用中的CLASS文件是由WEBAPP这样形式的类加载器加载的,(common属于webapp的父加载器,由common加载的HIBERNATE是无法找到你的WEB应用中的类的,即无法实现父加载器委托子加载器加载类,JVM提供有一个线程上下文类加载器来解决这个问题,这要看你的HIBERNATE是否支持这样的类加载,SPRING是支持的),再者不同的类加载器加载的类即使是同一个文件,在虚拟机中也是不同的;说的有些粗陋,建议看下JVM的类加载器机制。
李宇春
answered 12 years, 7 months ago