2017-01-14 6 views
0

私はREST + Mysql + Javaで小さなプロジェクトを作成しています。 残りの通話は正常に動作しています。しかし、残りの呼び出しでデータベースから値を取得したいのと同じように、残りの関数でデータベーストランザクションを作成すると、[java.lang.ClassNotFoundException: com.mysql.jdbc.Driver]となります。クラスのobjで同じ関数を呼び出すと、正常に動作しますが、残りのAPI呼び出しによって呼び出されると失敗します。私が関数を呼び出すときには、パラメータと引数を介してデータも送られますが、関数本体で使用することはできますが、データベーストランザクションは実行できません。mysql接続はローカルでは正常に動作しますが、残りの関数呼び出しでは呼び出せません[Java]

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 

public class conectionclass { 

    public static Connection getConnection(){ 

     Connection conn = null ; 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/emps","root", "12345"); 
      System.out.println("------------- Connection Succesful ----------------"); 
     } catch (SQLException | ClassNotFoundException e) { 
      // TODO Auto-generated catch block 
      System.out.println("------------- Connection Fail ----------------"); 

      e.printStackTrace(); 
     } 
     return conn; 
    } 

} 

私はWEB-INF/libに/フォルダ

私の接続クラスならびにをクラスパスにmysqlのjarを追加した1と同じ questionを見つけましたが、そのASP.net

私の休息機能:

@POST 
@Path("/postjson") 
@Produces("application/json") 
public Employee getJSONfromApp(HashMap p) { 

    return (new empdao()).getEmployee("test", "1234") ; 

} 

従業員ダオクラス機能:

@Override 
    public Employee getEmployee(String employee, String pass) { 
     int count = 0 ; 
     Connection conn = Connectionclass.getConnection(); 
//  System.out.println("Employee : "+employee+" Connection : "+conn); 
      if(employee!=null || employee != "") 
      { 
       String query = "select * from emps where username = '"+employee+"' && pass = '"+pass+"' "; 
       try { 
        Statement stmt = conn.createStatement() ; 
        System.out.println("Statement created.."+ stmt); 
        ResultSet a = stmt.executeQuery(query); 

        while(a.next()){ 
         return (new Employee(a.getString(2) , a.getString(3))); 
        } 

       } catch (Exception e) { 
        // TODO Auto-generated catch block 
        System.out.println("Error in connection....."); 
//     e.printStackTrace(); 
       } finally{ 
        try { 
         conn.close(); 
        } catch (Exception e) { 
         System.out.println("Error in closing connection....."); 
//      e.printStackTrace(); 
        } 

       } 

      } 

     return null; 
    } 

出力RestServiceを経由して通話する場合:

------------- Connection Fail ---------------- 
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305) 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:259) 
    at com.app.App3.Connectionclass.getConnection(Connectionclass.java:13) 
    at com.app.App3.empdao.getEmployee(empdao.java:47) 
    at com.mkyong.rest.JSONService.getJSONfromApp(JSONService.java:90) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140) 
    at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255) 
    at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220) 
    at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209) 
    at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519) 
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496) 
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) 
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) 
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) 
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) 
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:744) 
Error in connection..... 

答えて

1

ガットの答えは、実際に私のTomcatのバージョンとJREのバージョンが異なっていました。 私はそれらを上記の問題を解決すると解決します。

関連する問題