Исключение в потоке «основной» java.lang.NoClassDefFoundError ошибка запуска

1

У меня типичная ошибка в Java. У меня есть следующая структура:

bin/
lib/
src/
   junior/
         databases/
                  homework/Main.java

Мой код Main.java:

package junior.databases.homework;

import java.sql.*;

public class Main {
    private static Connection connection = null;

    public static void main(String[] args) throws SQLException, ClassNotFoundException {
        initDatabase();
        System.out.println("Done");
    }

    private static void initDatabase() throws SQLException, ClassNotFoundException {
        Class.forName("org.postgresql.Driver");

        connection = DriverManager.getConnection(
                    "jdbc:postgresql://192.168.136.129:5432/postgres", "postgres", "xxxx");
    }
}

Когда я запускаю его так:

root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src/junior/databases/homework# javac Main.java
root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src/junior/databases/homework#java Main

У меня ошибка:

Exception in thread "main" java.lang.NoClassDefFoundError: Main (wrong name: junior/databases/homework/Main)

Я нашел в этом посте решение Exception в потоке "main" java.lang.NoClassDefFoundError: Hello

И моя попытка:

root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src# javac junior/databases/homework/Main.java
root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src# java junior.databases.homework.Main

работает отлично. Проблема в том, что я могу запустить этот код только из src/folder (((Есть ли способ запустить его из папки /src/junior/databases/homeework? Мне нужно вернуться к src каждый раз, когда я хочу запустить код,

  • 0
    Вы должны запустить свою команду из корня dir / python_codes / Junior / Level1 / DB1 / ORM / java / java / src / # java junior.databases.homework.Main
  • 0
    Мой вопрос заключается в том, как запустить Main.java из папки домашней работы. Он работает из папки src /. Не понял зачем мне нужно идти в root dir (((
Показать ещё 4 комментария
Теги:
classnotfoundexception

1 ответ

0
Лучший ответ

Здесь вы, предполагая, что находитесь в каталоге src/junior/databases/homework:

javac ../../../junior/databases/homework/Main.java
java -cp ../../../ junior.databases.homework.Main

Ещё вопросы

Сообщество Overcoder
Наверх
Меню