at org.apache.catalina.loader.WebappClassLoader.loadClass问题处理

在Java Web环境中遇到Class.forName(driver)找不到Oracle驱动的问题,即使将classes12.zip放入WEB-INF/lib。解决方案包括:在Java的构建路径中添加用户库,引入Oracle驱动JAR,并确保在项目和Java构建路径的库中设置用户库,最后刷新工程、重新部署Tomcat。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在连接oracle数据库时,正常的java application可以连接,但是到javabean web中就出错,说是Class.forName(dirver)找不到驱 动,问题是,我将oracle的classes12.zip的包放到了web-inf下的lib文件夹下,这是不够的还需要配置java的编译路径,其过程如下:

1.在 windows-->properties-->java-->build path-->user libraries-->右边选"New",输入一个名称 然后点"Add JARs"导入oracle驱动,classes12.jar,"ok"关闭窗口
2.然后在到 project--〉properties --> Java build path ---> Liabriaries -->add library-->user library-->选前面建好 的名称 -->“finish”

3.刷新工程,重新部署,重启tomcat就可以了。


学自:百度知道,网址:http://zhidao.baidu.com/question/51498177.html?si=3

在一般的java application里可以连接数据库,
但是在含有javabean web程序里老是出现错误:
当执行 Class.forName("com.mysql.jdbc.Driver").newInstance()时出错,
跟踪调试是这个错误:Source not found for WebappClassLoader.loadClass(String) line: 1208

请问这是怎么回事啊,我已经在  project--〉properties --> Java build path ---> Liabriaries -->add external jars添加了mysql-connector-java-5.1.6-bin  jar文件。

在 apache-tomcat-6.0.14/lib 和 项目的 WebRoot/WEB-INF/lib 各拷贝了一份 mysql-connector-java-5.1.6-bin  jar文件
奇怪的是在普通的java 程序不出错,都能正常取出数据而web程序出错呢???

在百度上也能搜到解决办法 如下:
1、在对应的WEB-INF--- >lib-- >下添加数据库驱动 
2、工程--〉properties --  > Java build path ---  > Liabriaries --〉ADD JARs 添加lib下的数据库驱动 

但问题是 在 工程--〉properties --  > Java build path ---  > Liabriaries --〉点ADD JARs  没有任何选项 !!!下面提示“No entries available”

MyEclipse Version: 6.0.1 GA
MySQL 5.0.51a
Tomcat-6.0.14
MySQL驱动 mysql-connector-java-5.1.6-bin.jar

请高人指点阿 好几天都没搞定!!!!

问题补充:

之前 已经在 project--〉properties --> Java build path ---> Liabriaries -->add external jars添加过mysql-connector-java-5.1.6-bin jar文件。
问题已经解决 如下:
在 windows-->properties-->java-->build path-->user libraries-->右边选"New",输入一个名称 然后点"Add JARs"导入mysql驱动,"ok"关闭窗口
然后在到 project--〉properties --> Java build path ---> Liabriaries -->add library-->user library-->选前面建好 的名称 -->“finish”
(如果之前 在add external jars添加过驱动 要删掉才能点“OK” 否则此按钮是灰色的)。虽然问题已经解决。其实通过add external jars添加驱动和 这次添加道理一样 不清楚后一次操作就可以!可能是那里还没搞明白吧。呵呵 还要继续努力!!!

 

### 回答1: 这是一个Java异常信息,通常出现在Tomcat服务器中。它表示在Web应用程序类加载器中加载类时出现了错误。可能是由于类文件不存在、权限不足或类文件已经被其他进程占用等原因导致的。需要进一步查看异常信息和日志文件来确定具体原因。 ### 回答2: org.apache.catalina.loader.webappclassloaderbase.loadclass是Tomcat中的一个类加载器方法。它用于从Web应用程序的类路径中加载类文件。 在Tomcat中,webappclassloaderbase是一个类加载器的基础实现,它负责从Web应用程序的类路径中加载类文件。loadclass方法是其中的一个实现,它允许根据给定的类名加载相应的类。 loadclass方法的作用是根据类名在Web应用程序的类路径中搜索并加载对应的类文件。它首先会在缓存中查找该类是否已经被加载过,如果没有则会尝试从Web应用程序的类路径中加载该类文件。 如果找到了对应的类文件,则会将该类加载到内存中,并返回对应的Class对象。如果未找到该类文件,则会抛出ClassNotFoundException异常。 这个方法在Web应用程序中的Servlet容器中常用,例如Tomcat。它可以帮助在运行时动态加载类文件,实现类的实例化、调用以及处理相关的任务。 总之,org.apache.catalina.loader.webappclassloaderbase.loadclass是Tomcat中负责从Web应用程序的类路径中加载类文件的方法。它对于动态加载类文件、实例化和调用类以及处理相关任务非常有用。 ### 回答3: org.apache.catalina.loader.webappclassloaderbase.loadclass是一个Java类加载器的方法,它是Tomcat服务器中的一个类加载器,用于从Web应用程序的类路径中加载类。这个方法的作用是在Tomcat服务器上加载指定名称的类。 当Tomcat服务器接收到一个客户端的请求时,它需要加载相应的类来处理这个请求。loadclass方法是一个常用的加载类的方法之一。它接收一个类的名称作为参数,然后尝试从Web应用程序的类路径中找到并加载这个类。 这个方法首先检查是否已经加载过这个类。如果已经加载过,它会返回这个已加载的类。否则,它会调用父类加载器的loadclass方法来尝试加载这个类。如果父类加载器加载不到,它会调用自身的findclass方法来从Web应用程序的类路径中查找并加载这个类。 使用这个方法要注意一些事项。首先,参数中的类名称必须是全限定名,包括包名和类名。其次,需要保证这个类的字节码文件在Web应用程序的类路径中能找到,通常是放在WEB-INF/classes或WEB-INF/lib目录下。 总之,org.apache.catalina.loader.webappclassloaderbase.loadclass是一个用于Tomcat服务器的类加载器方法,用于从Web应用程序的类路径中加载指定名称的类。它的作用是为了处理客户端请求而加载所需要的类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值