Piszę pomocnika składni SQL, aby zautomatyzować niektóre rzeczy. Nie mogę wykryć złącza MySQL.

Dodałem mysql-connector-java-5.1.48-bin.jar i mysql-connector-java-5.1.48.jar do mojej ścieżki kompilacji i oba są wyświetlane w moich przywoływanych bibliotekach.

public static void main(String[] args) 
{       

    getCredentials();
    login();

    while(run)
    {

        String input = getInput("Please enter the query: ");

        String[] arguments = input.split(" ");
        System.out.println(arguments);
        switch(arguments[0])
        {
            case "":
                ;
                break;
            case "exit":
                run = false;
                break;
        }

    }
    scan.close();
}

public static void login()
{
    try
    {
         Class.forName("com.mysql.jdbc.Driver");
         connect = DriverManager.getConnection(String.format(
                 "jdbc:mysql://%suser=%s&password=%s", DATA_BASE, username, password 
         ));

    }
    catch(Exception e)
    {
        print(e.toString());
        System.exit(0);
    }
}

Po uruchomieniu wyświetla następujący błąd.

C:\Users\""\workspace\SQLParser\bin>java SQLParser
Enter your username:
Enter your password:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

C:\Users\""\workspace\SQLParser\bin>
0
apblue 20 listopad 2019, 18:53

1 odpowiedź

Uruchom jako java -cp mysql-connector-java-5.1.48-bin.jar SQLParser

Upewnij się również, że mysql-connector-java-5.1.48-bin.jar jest obecny w C:\Users\""\workspace\SQLParser\bin

Aktualizacja:

Na podstawie Twojego komentarza w Twoim przypadku będą miały zastosowanie następujące zasady:

C:\Users\your-user-name\workspace\SQLParser\bin>java -cp ".;../lib/*" your.package.SQLParser

Zastąp your-user-name i your.package rzeczywistymi wartościami.

1
Arvind Kumar Avinash 22 listopad 2019, 18:21
C:\Users\""\workspace\SQLParser\bin>java domain."".SQLParser Enter your username: Enter your password: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver C:\Users\""\workspace\SQLParser\bin>java -cp ..\lib\mysql-connector-java-5.1.48.jar;..\lib\mysql-connector-java-5.1.48-bin.jar domain."".SQLParser Error: Could not find or load main class domain."".SQLParser C:\Users\""\workspace\SQLParser\bin>
 – 
apblue
21 listopad 2019, 18:26
 – 
apblue
22 listopad 2019, 17:49
Mogę uruchomić z Eclipse bez wystąpienia tego błędu, ale wtedy nie mogę użyć console#readPassword. Musi być coś więcej niż użycie -cp <ścieżka_lib>...
 – 
apblue
22 listopad 2019, 18:13
Mam to. Mogę uruchomić za pomocą -cp, jeśli określę również katalog bin.
 – 
apblue
22 listopad 2019, 18:15
- Mam nadzieję, że rozwiązanie zadziałało dla Ciebie. Nie zapomnij zaakceptować odpowiedzi, aby przyszli odwiedzający również mogli śmiało korzystać z rozwiązania. Sprawdź meta.stackexchange.com/questions /5234/… aby dowiedzieć się, jak to zrobić. Zapraszam do komentowania w przypadku jakichkolwiek wątpliwości/problemów.
 – 
Arvind Kumar Avinash
29 maj 2020, 21:59