title: Java program that uses SQL - compile into .jar
body: <p>My code compiles and runs fine in Eclipse, but when I try to make it into a .jar it gives me a bunch of errors.</p>
  
  <p>The code, the .bat file I use to compile into .jar and my error message can be found here:</p>
  
  <pre><code>import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.ResultSet;
  import java.util.Scanner;
  import com.mysql.jdbc.PreparedStatement;
  
  
  public class Main
  {
          private static Scanner scn = new Scanner(System.in);
  
          public static void main(String[] argv) throws Exception
          {
                  Class.forName("com.mysql.jdbc.Driver");
  
                  Main main = new Main();
                  int choice = 0;
  
                  System.out.println("\t\tWelcome !\n\n");
  
                  System.out.print(
                                             "1. Get Data From the table \"testtable\"\n"+
                                             "2. Insert data into the table \"testtable\"\n"+
                                             "Your choice?: "
                                                    );
                  choice = scn.nextInt();
                  scn.nextLine();
  
                  switch( choice )
                  {
                  case 1:
                          main.getInfo();
                          break;
  
                  case 2:
                          main.insertInfo();
                          break;
  
                  default:
                          System.out.print("Was neither 1 or 2. Terminating program...");
                  }
  
  
          }
  
          private void getInfo() throws Exception
          {
                  //Class.forName("com.mysql.jdbc.Driver");
  
                  Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb", "guest", "shahin33");
                  PreparedStatement statement = (PreparedStatement) con.prepareStatement("SELECT * FROM testtable");
                  ResultSet result = statement.executeQuery();
  
                  System.out.println();
  
                  System.out.println("USERNAME\tPASSWORD");
                  while( result.next() )
                  {
                          System.out.println(result.getString(1) + "\t\t" + result.getString(2));
                  }
  
                  result.close();
                  con.close();
          }
  
          private void insertInfo() throws Exception
          {
                  System.out.print("\nUsername: ");
                  String username = scn.nextLine();
  
                  System.out.print("Password: ");
                  String password = scn.nextLine().toLowerCase();
  
                  Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb", "guest", "shahin33");
                  PreparedStatement statement = (PreparedStatement) con.prepareStatement("INSERT INTO testtable VALUES(?,?)");
                  statement.setString(1, username);
                  statement.setString(2, password);
                  statement.executeUpdate();
  
                  System.out.println("\nUser information has been inserted to the database.\nRun the program again and chose 1 to see result.");
                  statement.close();
                  con.close();
  
          }
  }
  </code></pre>
  
  <p>The .bat file I use to compile into a .jar:</p>
  
  <pre><code>@echo off
  
  set /p fileName="Name for the file? Exclude .jar: "
  
  copy *.java "Source Code"
  javac *.java
  
  jar -cvfm %fileName%.jar manifest.txt *.class "Source Code"
  
  del *.class /f /q
  del "Source Code" /f /q
  </code></pre>
  
  <p>My error message:</p>
  
  <pre><code>C:\Users\shahin\Desktop\JavaComp&gt;Compile_N_Whatnot.bat
  Name for the file? Exclude .jar: comonXXXXXX
  Main.java
          1 fil(er) kopierad(e).
  Main.java:5: error: package com.mysql.jdbc does not exist
  import com.mysql.jdbc.PreparedStatement;
                       ^
  Main.java:51: error: cannot find symbol
                  PreparedStatement statement = (PreparedStatement) con.prepa
  tement("SELECT * FROM testtable");
                  ^
    symbol:   class PreparedStatement
    location: class Main
  Main.java:51: error: cannot find symbol
                  PreparedStatement statement = (PreparedStatement) con.prepa
  tement("SELECT * FROM testtable");
                                                 ^
    symbol:   class PreparedStatement
    location: class Main
  Main.java:75: error: cannot find symbol
                  PreparedStatement statement = (PreparedStatement) con.prepa
  tement("INSERT INTO testtable VALUES(?,?)");
                  ^
    symbol:   class PreparedStatement
    location: class Main
  Main.java:75: error: cannot find symbol
                  PreparedStatement statement = (PreparedStatement) con.prepa
  tement("INSERT INTO testtable VALUES(?,?)");
  </code></pre>
  
  <p>My classpath:</p>
  
  <pre><code>C:\Program\Java\jdk1.7.\bin\;
  C:\Users\shahin\Desktop\mysql-connector-java-5.1.18\com\mysql\jdbc\;
  C:\Users\shahin\Desktop\mysql-connector-java-5.1.18\mysql-connector-java-5.1.18-bin.jar;
  </code></pre>