Tiene todo la pinta de que tienes un problema con la librería del driver de mysql, yo diría que la tienes repetida en tu proyecto y en el lib del propio servidor y dependiendo del tipo de inicio te pilla una u otra, pero habría que hacer pruebas para comprobarlo.
Yo me aseguraría de que la librería de mysql está correctamente puesta, no repetida y me aseguraría de que ese jar tiene la clase que no te está encontrando.
java.lang.NoClassDefFoundError: Could not initialize class com.mysql.jdbc.StringUtils
Te dejo una referencia:
http://stackoverflow.com/questions/10957220/noclassdeffounderror-com-mysql-jdbc-stringutils-tomcat-6
buenos dias a todos, el tema es el siguiente, subi un sistema al servidor de un servicio de hosting, con la siguientes caracteristicas:
- JAVA
- JSP
- SERVLET
- HIVERNATE
- Base de datos: MYSQL
una vez que lo instalé, funciono perfecto!....pero, cuando hago un "RESTART" del servidor, deja de funcionar y el log muestra un error similar al siguiente:
jun 04, 2014 11:04:59 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [ControllerLogin] in context with path [/tec] threw exception [Could not initialize class com.mysql.jdbc.StringUtils] with root cause
java.lang.NoClassDefFoundError: Could not initialize class com.mysql.jdbc.StringUtils
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:286)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at mantenimiento.util.Conexion.Conectar(Conexion.java:60)
at clases.sql.SQLUsuarios.conectar(SQLUsuarios.java:143)
at clases.sql.SQLUsuarios.getIdSucursal(SQLUsuarios.java:216)
at servlet.controller.ControllerLogin.procesar(ControllerLogin.java:279)
at servlet.controller.ControllerLogin.processRequest(ControllerLogin.java:70)
at servlet.controller.ControllerLogin.doPost(ControllerLogin.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:271)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:306)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:166)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:299)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:57)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
ControllerLogin: es el Servlet donde manejo el login y logout del usuario.
Lo que me parece raro, es que "funciona perfecto", luego de hacer el "restart" del servidor, deja de funcionar cuando intenta loguear al usuario, o sea, muestra la ventana de acceso, ingreso usuario y contraseña y al dar "submit" no accede (o sea, cuando intenta comunicarse con la base de datos).
Puede quedar algo abierto por mas que haga el restart del servidor?...he leido de todo en Internet, pero nada me sirvio, cosas como:
- dar permisos en el archivo java.policy
- o alguna clase no esta incluida en el classpath, esto es imposible, si el sistema funciona, hasta que hago el restart.....
La unica forma de solucionarlo, es subiendo .war nuevamente....alli, vuelve a funcionar, hasta que hago el restart...
Aclaración: el "restart" necesito hacerlo si o si, ya que el host, es de prueba y el servidor se apaga cada 6 horas, pero antes de adquirir el servicio no quiero encontrarme con este problema.
muchas gracias por su participación.
saludos.
Joaquin.