Невозможно запустить код Java через командную строку.Пробовал изменить CLASSPATH и установить новый CLASSPATH через командную строку, а также - PullRequest
0 голосов
/ 08 июня 2018

Я получаю сообщение об ошибке ниже при попытке запустить включенную программу -

Не удалось найти или загрузить основной класс ConsoleDemo. Причина: java.lang.NoClassDefFoundError: inputOutput / ConsoleDemo (неправильное имя:ConsoleDemo)

import java.io.Console;

public class ConsoleDemo {
    public static void main(String[] args) {
        Console cn = System.console();

        System.out.print("Enter your name: ");
        String name = System.console().readLine(); //cn.readLine() will also work

        System.out.print("Enter your password: ");
        char[] pass = cn.readPassword();

        System.out.println("\n----Details---- \nName: " + name);
        System.out.println("Password: " + pass.toString());
    }
}

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Спасибо всем за вклады.После проверки я обнаружил, что не только этот, но и каждый файл кода Java выдает ту же ошибку.

В Eclipse все работало нормально, но я не смог запустить его с cmd .Чтобы исправить это, я просто скомпилировал код в текущем каталоге, а затем запустил файл .class, используя java -cp . {fully qualified name} (из одного каталога вверх) или java -cp .. {fully qualified name} (из текущего каталога). В моем случае полное имя было inputOutput.ConsoleDemo.

Еще раз, спасибо всем за ваше время и вклады

0 голосов
/ 08 июня 2018

Хорошо, так что после изучения вашего вопроса.Давайте предположим, что ваш java-файл присутствует в папке Test , как показано на изображении ниже:

Теперь, если нам нужно просто скомпилировать файл .javaиз командной строки с помощью команды javac ConsoleDemo.java

Compile Java File

После компиляции у нас будет еще один файл, например файл класса для Java-программы.

Class File

Вы можете запустить эту программу с помощью команды java ConsoleDemo, которая выполнит ваш код Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...