2016-09-15 3 views
1

私はMavenを使ってSprint Bootアプリを持っています。私はMySQL Connector/Jを有効にしました。しかし、私のアプリをGoogle Cloudにデプロイした後は、「JDBCドライバクラス 'com.mysql.jdbc.GoogleDriver'をロードできません」(java.lang.ClassNotFoundException:com.mysql.jdbc.GoogleDriver)。早めにこれをよく調べてアドバイスしてください。接続するコードは以下の通りです。Spring App用Google App Engineアプリケーションは常にjava.lang.ClassNotFoundExceptionを与えます:com.mysql.jdbc.GoogleDriver

BasicDataSource ds = new BasicDataSource();

 System.out.println("Inside prod-->"); 
     try { 
      Class.forName("com.mysql.jdbc.GoogleDriver"); 
      System.out.println("Inside Class.forName-->"); 
     } catch (ClassNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      System.out.println("Inside ClassNotFoundException-->"); 
     } 
     System.out.println("after Class.forName-->"); 
     ds.setDriverClassName(props.getProperty("gcdriverClassName")); 
     ds.setUrl(props.getProperty("gcurl"));//System.getProperty("ae-cloudsql.cloudsql-database-url") 
     ds.setUsername(props.getProperty("gcusername")); 
     ds.setPassword(props.getProperty("gcpassword")); 
     ds.setInitialSize(Integer.parseInt(props.getProperty("gcinit_pool_size"))); 
     ds.setMaxActive(Integer.parseInt(props.getProperty("gcmax_pool_size"))); 

答えて

0

AFAIK、com.mysql.jdbc.GoogleDriverクラスは自動的にApp Engineランタイムで使用できません。だから<use-google-connector-j>true</use-google-connector-j>要素をappengine-web.xmlPROJECT_HOME/src/main/webapp/WEB-INF/ディレクトリに追加して有効にする必要があります。

詳細については、Using Google Cloud SQLドキュメントを参照してください。