Java - Не удалось найти основной класс

lightdm является диспетчером отображения по умолчанию в Ubuntu. как-то ваше значение по умолчанию lightdm было изменено. вам нужно установить его обратно, чтобы вернуть параметр входа.

Сначала вам нужно войти в виртуальную консоль, нажать Ctrl + Alt + F1 и ввести свое имя пользователя и пароль.

5] Используйте следующую команду, чтобы установить значения по умолчанию для lightdm [источник],

$ sudo /usr/lib/lightdm/lightdm-set-defaults --show-manual-login true
$ sudo reboot

После перезагрузки он вернет параметр входа в систему на вашем экране входа в систему.

Альтернативный способ

вы можете отредактировать свой /etc/lightdm/lightdm.conf самостоятельно и добавить следующую строку в конец,

greeter-show-manual-login=true

Чтобы отредактировать, вы можете открыть файл с nano или vi as,

sudo nano /etc/lightdm/lightdm.conf

или просто используйте следующее в консоли,

sudo sh -c 'echo "greeter-show-manual-login=true" >> /etc/lightdm/lightdm.conf'

затем перезагрузите вашу систему,

3
задан 10 November 2011 в 00:56

2 ответа

Когда код выглядит так:

class Foo {
    public static void main(String[] args) {
        System.out.println("Hello world");
    }
}

, вам нужно запустить java Foo в каталоге, содержащем Foo.class (после компиляции с javac Foo.java). Если вы находитесь в другом каталоге, скажите ~, где файл класса находится в ~/bar/Foo.class, вам нужно установить путь к классу перед запуском java:

CLASSPATH=~/bar java Foo

Если вы используете пакеты , например:

package bar;
class Foo {
    public static void main(String[] args) {
        System.out.println("Hello world");
    }
}

, тогда вам нужно сохранить его на path/bar/Foo.java и скомпилировать path/bar/Foo.class с помощью javac path/bar/Foo.java и запустить с path/:

java bar.Foo
7
ответ дан 25 May 2018 в 17:02
  • 1
    Спасибо, что работал! Кстати, есть ли способ сделать так, чтобы я мог запускать java ~ / bar / foo, не задав сначала путь класса? В любом случае, спасибо вам большое. – user 12 November 2011 в 03:14
  • 2
    Спасибо, что работал! Кстати, есть ли способ сделать так, чтобы я мог запускать java ~ / bar / foo, не задав сначала путь класса? В любом случае, спасибо вам большое. – user 12 November 2011 в 03:14
  • 3
    Спасибо, что работал! Кстати, есть ли способ сделать так, чтобы я мог запускать java ~ / bar / foo, не задав сначала путь класса? В любом случае, спасибо вам большое. – user 12 November 2011 в 03:14
  • 4
    Спасибо, что работал! Кстати, есть ли способ сделать так, чтобы я мог запускать java ~ / bar / foo, не задав сначала путь класса? В любом случае, спасибо вам большое. – user 12 November 2011 в 03:14
  • 5
    Спасибо, что работал! Кстати, есть ли способ сделать так, чтобы я мог запускать java ~ / bar / foo, не задав сначала путь класса? В любом случае, спасибо вам большое. – user 12 November 2011 в 03:14
  • 6
    Рассчитывает ли java -cp ~/bar foo? -cp - короткая опция для -classpath и такая же, как установка CLASSPATH – Lekensteyn 12 November 2011 в 03:31
  • 7
    Полагаю, да. Еще раз спасибо. – user 12 November 2011 в 20:52
  • 8
    Полагаю, да. Еще раз спасибо. – user 12 November 2011 в 20:52
  • 9
    Полагаю, да. Еще раз спасибо. – user 12 November 2011 в 20:52
  • 10
    Полагаю, да. Еще раз спасибо. – user 12 November 2011 в 20:52
  • 11
    Полагаю, да. Еще раз спасибо. – user 12 November 2011 в 20:52
  • 12
    Пара комментариев: во-первых, сильная рекомендация избегать env var $ CLASSPATH, как чума; во-вторых, нежное предложение избежать оболочечных разложений, например, предполагая, что "~" будет оцениваться до $ HOME. Например, это работает (поскольку «~» расширяется до запуска Java): CLASSPATH = ~ / tmp java bar.Foo; как это делает: java -cp ~ / tmp bar.Foo; но это не (добавленные кавычки): java -cp " ~ / cp " bar.Foo ... но это работает: java -cp " $ HOME / bar " ... Все это, конечно, не имеет ничего общего с Java, а скорее оболочками, где цитаты (или их отсутствие) могут вызвать неожиданные результаты для непосвященных ... – michael 12 January 2012 в 13:51

Когда код выглядит так:

class Foo {
    public static void main(String[] args) {
        System.out.println("Hello world");
    }
}

, вам нужно запустить java Foo в каталоге, содержащем Foo.class (после компиляции с javac Foo.java). Если вы находитесь в другом каталоге, скажите ~, где файл класса находится в ~/bar/Foo.class, вам нужно установить путь к классу перед запуском java:

CLASSPATH=~/bar java Foo

Если вы используете пакеты , например:

package bar;
class Foo {
    public static void main(String[] args) {
        System.out.println("Hello world");
    }
}

, тогда вам нужно сохранить его на path/bar/Foo.java и скомпилировать path/bar/Foo.class с помощью javac path/bar/Foo.java и запустить с path/:

java bar.Foo
7
ответ дан 7 August 2018 в 20:26

Другие вопросы по тегам:

Похожие вопросы: