title: No suitable driver found for jdbc:mysql://localhost/
body: <p>I am trying to port my code from linux to mac OSX LION. The following method works on linux just fine.</p>
  
  <pre><code>Connection getConnection() throws SQLException{
      String url = "jdbc:mysql://localhost/";
      return DriverManager.getConnection(url, "root", "mypassword");
  }
  </code></pre>
  
  <p>But it's not working on my mac. I am using XAMMP so the path to my database is <code>/Applications/XAMPP/xamppfiles/bin/mysql</code>. The error I get reads</p>
  
  <pre><code>Exception in thread "main" java.sql.SQLException: 
      No suitable driver found for jdbc:mysql://localhost/
  at java.sql.DriverManager.getConnection(DriverManager.java:602)
  at java.sql.DriverManager.getConnection(DriverManager.java:185)
  </code></pre>
  
  <p>UPDATES BASED ON FEEDBACK FROM POSTS BELOW:</p>
  
  <p>I downloaded the jar and add it to the project's build path. When I try to add <code>Class.forName("com.mysql.jdbc.Driver")</code> I get compile error so I comment it out. Then I run the program to get the following error:</p>
  
  <pre><code>Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
  
  The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
  at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)
  at com.mysql.jdbc.MysqlIO.&lt;init&gt;(MysqlIO.java:350)
  at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2408)
  at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2445)
  at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2230)
  at com.mysql.jdbc.ConnectionImpl.&lt;init&gt;(ConnectionImpl.java:813)
  at com.mysql.jdbc.JDBC4Connection.&lt;init&gt;(JDBC4Connection.java:47)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
  at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
  at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
  at java.sql.DriverManager.getConnection(DriverManager.java:582)
  at java.sql.DriverManager.getConnection(DriverManager.java:185)
  at learning.database.Classroom.getConnection(Classroom.java:42)
  at learning.database.Classroom.main(Classroom.java:239)
  
  Caused by: java.net.ConnectException: Connection refused
  at java.net.PlainSocketImpl.socketConnect(Native Method)
  at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
  at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
  at java.net.Socket.connect(Socket.java:529)
  at java.net.Socket.connect(Socket.java:478)
  at java.net.Socket.&lt;init&gt;(Socket.java:375)
  at java.net.Socket.&lt;init&gt;(Socket.java:218)
  at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)
  at com.mysql.jdbc.MysqlIO.&lt;init&gt;(MysqlIO.java:300)
  ... 16 more
  
  Java Result: 1
  BUILD SUCCESSFUL (total time: 0 seconds)
  </code></pre>