Не найден класс Main при запуске из командной строки

Написал код:

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner str = new Scanner(System.in);
        System.out.println(str.nextLine());

    }

}

И далее вписал в консоли: javac Main.java и java Main (чтобы запустить программу)

После этого, мне в консоли выдается такая ошибка:

Error: Could not find or load main class Main
Caused by: java.lang.NoClassDefFoundError: com/company/Main (wrong name: Main)

Ответы (1 шт):

Автор решения: Vadik

В вашем классе указан пакет package com.company. По соглашению, класс должен лежать в директории com/company/Main.java.

Компилируем:

javac com/company/Main.java

Запускаем:

java com.company.Main

Если по какой-то причине вы не хотите структурировать классы по соответствующим директориям, то javac может создать структуру за вас, для этого можно воспользоваться опцией -d и указать . — текущую директорию:

javac -d . Main.java

Запускаем по-прежнему:

java com.company.Main
→ Ссылка