2013-03-15 6 views
1

У меня есть Java HelloWorld эквивалент:Java в терминал не завершает

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

} 

Я компилировать просто отлично, и выполнить из командной строки в Xfce терминале на Ubuntu 12.04.

java -cp . HelloWorld 

Ничего не происходит, как будто что-то повесило. Я нажал ключ и «Привет, мир!». отображается

java -vervose -cp . HelloWorld 

Это отображает все подробные материалы, а затем «Hello World!». а затем завершается, не требуется нажатия клавиши.

Я открыл новый терминал, повторю эксперимент с оригинальным вызовом. Не требуется нажатия клавиши, показав, что что-то не так с исходным терминальным экземпляром. Мне действительно интересно узнать, что. Другие программы командной строки ведут себя очень хорошо.

ответ

3

Вы набрали \ в конце первой команды по ошибке? Случается со мной все время.

Это указывает терминалу, что ваши команды охватывают несколько строк (как в исходном коде), и поэтому он ждет вас, чтобы завершить вторую строку. Ваше нажатие на ввод снова завершит эту строку.

+1

Нет, это не то. У меня все еще есть открытый экземпляр терминала, и он все еще ведет себя таким образом. –

0

Просто, чтобы подтвердить (и успокоить вас), что я просто запустил ваш точный код на Ubuntu 12.04, и он работал, как ожидалось, без каких-либо задержек. Я использую Ubuntu 12.04 с рабочим столом Gnome (у меня нет Xfce)

Первый вопрос, который приходит на ум, - это то, что другие программы Java ведут себя одинаково.

+0

Он смог подтвердить себя другим терминалом, хотя неплохо было попробовать другие Java-программы. –

+0

Другая отдельная программа Java (которая была такой же простой, как Hello World) была первой программой, где я это заметил, и поэтому я быстро сбил экземпляр Hello World для проверки. –