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添加驱动和 这次添加道理一样 不清楚后一次操作就可以!可能是那里还没搞明白吧。呵呵 还要继续努力!!!

 

java.lang.IllegalStateException: 启动子级时出错 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:706) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1727) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:627) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:790) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:427) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:376) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:627) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:790) at java.management/com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:437) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1392) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.lambda$doPrivilegedOperation$0(RMIConnectionImpl.java:1320) at java.base/jdk.internal.vm.ScopedValueContainer.callWithoutScope(ScopedValueContainer.java:162) at java.base/jdk.internal.vm.ScopedValueContainer.call(ScopedValueContainer.java:147) at java.base/java.lang.ScopedValue$Carrier.call(ScopedValue.java:422) at java.base/javax.security.auth.Subject.callAs(Subject.java:331) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1320) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:777) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:351) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:166) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:543) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:744) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:623) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619) at java.base/java.lang.Thread.run(Thread.java:1447) Caused by: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/glis_Web_exploded]] at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717) ... 34 more Caused by: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/servlet/ServletContextEvent at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:132) at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2431) at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:864) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1187) at java.base/java.lang.Class.getDeclaredMethods0(Native Method) at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3035) at java.base/java.lang.Class.getDeclaredMethods(Class.java:2331) at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:121) at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:285) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:90) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67) at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:332) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:988) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:303) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5031) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 35 more
最新发布
08-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值