Ich habe ein Problem und brauche Hilfe in Class.forName("com.mysql.jdbc.Driver")
, die Klasse nicht gefunden Exception werfen, wenn ich Webservice von Eclipse ausführen, aber wenn ich neu erstellen Java-Projekt läuft perfekt.Klasse nicht gefunden Ausnahme Class.forName ("com.mysql.jdbc.Driver") in Webservice
Ich füge die mysql-connector-java-5.1.19-bin.jar
im Build-Pfad für beide Projekte , aber ich weiß nicht, was das Problem im Webservice ist.
public String insertOrder(
int current_id,
int table_id)
{
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/myhoteldb", "root", "mypassword");
PreparedStatement st =
con.prepareStatement("insert into orders(orders.current_id,orders.table_id) values(?,?)");
st.setInt(1, current_id);
st.setInt(2, table_id);
st.executeUpdate();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return "record inserted";
}
}
und dies der Fehler
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at pkg.MyServices.insertOrder(MyServices.java:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:144)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Wenn Sie Ihre .war-Datei exportieren, ist die .jar-Datei enthalten? – Michael
@ Michaels Kommentar ist, warum es während des Entwickelns gut ist, explodierte Kriegsdateien zu verwenden, damit Sie sehen können, was tatsächlich da ist. –
Hardik hat Recht. Grundsätzlich besteht das Problem darin, dass der Server, obwohl er im Klassenpfad vorhanden ist, nicht in der Lage ist, ihn zu finden und auf ihn zuzugreifen, und somit die Exception. – Logan