PDA

View Full Version : Update to Ibex broke jdbc



Dooley
November 18th, 2008, 01:49 AM
Hi all,

Some java servlets that I was using with Gutsy have stopped working with the Interpid Ibex update. Basically I cannot seem to access my mysql databases anymore.

This is my /etc/environment at the moment
CLASSPATH=.:/usr/lib/jvm/java-6-sun/bin:/usr/share/tomcat5.5/common/lib/servlet-api.jar:/usr/share/tomcat5.5-webapps/ROOT/WEB-INF/classes/syshandlers:/usr/share/java/mysql.jar

I have also tried adding mysql.jar and mysql-connector.jar to eclipse manually, this worked for a non-root user but not for a root user, no luck at all.

Hope someone can help.
Cheers,
Dooley

Dooley
November 18th, 2008, 03:20 PM
Can anyone help?

jespdj
November 18th, 2008, 03:28 PM
Do you get any error messages? If so, then what are the error messages?

Dooley
November 18th, 2008, 03:42 PM
Error messages, they would help. Looks to me like a standard class not found issue.

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1363)
at org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1209)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at websysadmin.DBAccess.listAllTables(DBAccess.java:1 7)
at org.apache.jsp.index_jsp._jspService(index_jsp.jav a:211)
at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)

Dooley
November 18th, 2008, 04:39 PM
Actually it would probably be easier and better if I just used a non-root user running eclipse. However I use eclipse to start/stop tomcat.
I don't actually need a root user to run tomcat, Im using port 8180.
So does anyone know how to set a non-root user startup tomcat.

Heres my error when I try.
18-Nov-2008 15:40:46 org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.io.FileNotFoundException: /usr/share/tomcat5.5/conf/server.xml (Permission denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at org.apache.catalina.startup.Catalina.stopServer(Ca talina.java:382)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.stopServer(B ootstrap.java:344)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:435)

jdmpike
November 24th, 2008, 06:26 AM
I am having similar issues with JDBC in Tomcat 6 under Intrepid 64-bit.

I have installed tomcat6 and tomcat6-common, there is a symbolic link to commons-dbcp.jar that *should* contain BasicDataSourceFactory. Any help on this would be wonderful (stack trace below). I would guess that in less than 24 hours, I will just uninstall the packages and download the binary from Apache if there is no idea how to fix this.


SEVERE: Exception processing Global JNDI Resources
javax.naming.NamingException: Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]
at org.apache.naming.factory.ResourceFactory.getObjec tInstance(ResourceFactory.java:118)
at javax.naming.spi.NamingManager.getObjectInstance(N amingManager.java:304)
at org.apache.naming.NamingContext.lookup(NamingConte xt.java:793)
at org.apache.naming.NamingContext.lookup(NamingConte xt.java:140)
at org.apache.naming.NamingContextBindingsEnumeration .nextElementInternal(NamingContextBindingsEnumerat ion.java:113)
at org.apache.naming.NamingContextBindingsEnumeration .next(NamingContextBindingsEnumeration.java:71)
at org.apache.catalina.mbeans.GlobalResourcesLifecycl eListener.createMBeans(GlobalResourcesLifecycleLis tener.java:137)
at org.apache.catalina.mbeans.GlobalResourcesLifecycl eListener.createMBeans(GlobalResourcesLifecycleLis tener.java:144)
at org.apache.catalina.mbeans.GlobalResourcesLifecycl eListener.createMBeans(GlobalResourcesLifecycleLis tener.java:109)
at org.apache.catalina.mbeans.GlobalResourcesLifecycl eListener.lifecycleEvent(GlobalResourcesLifecycleL istener.java:81)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:703)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.commons.daemon.support.DaemonLoader.sta rt(DaemonLoader.java:177)
Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java: 200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 07)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 52)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.apache.naming.factory.ResourceFactory.getObjec tInstance(ResourceFactory.java:114)
... 22 more

jespdj
November 24th, 2008, 01:04 PM
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
This means that you don't have the MySQL driver in your classpath. Make sure it's in your classpath.


Actually it would probably be easier and better if I just used a non-root user running eclipse. However I use eclipse to start/stop tomcat.
Running Eclipse as root is a bad idea. Make sure that you (as a normal user) have access to /usr/share/tomcat5.5/conf/server.xml.

jdmpike - that's a different problem than Dooley's. Please start your own topic in the forum instead of hijacking Dooley's topic.