Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Запуск приложения из командной строки


Автор: srd 2.6.2004, 11:44
Сделал всё в соответствии с http://forum.vingrad.ru/index.php?showtopic=17081 примером из FAQ. При попытке запустить программку с помощью команды вида

java Main

получаю следующую ошибку:

>java Main
Exception in thread "main" java.lang.NoClassDefFoundError: Main

Если же явно указать путь к текущему каталогу, в котором лежат файлы, с помощью ключа -cp, то тогда всё работает. Как заставить java искать файлы в текущем каталоге? Судя по примерам так и должно же быть.

Автор: AntonSaburov 2.6.2004, 13:18
Цитата
java Main

А где там такая строка ?

Там java HelloWorld

Автор: srd 2.6.2004, 13:59
Да просто файл у меня называется Main.java и класс в нём - Main. Здесь это не важно.

Автор: Guest 2.6.2004, 14:09
java Main запускается только в том случае, если эта команда дается из каталога, где лежит твой класс. Иначе нужно указывать путь в класспасе. Так как при запуске из того же рана как программа найдет где у тебя находится этот класс (майн).

Автор: DarkDS 2.6.2004, 14:10
Гвест выше - это я

Автор: srd 2.6.2004, 15:10
Цитата
ava Main запускается только в том случае, если эта команда дается из каталога, где лежит твой класс.

Именно это я и пытаюсь сделать. Посмотри внимательно первый пост.
Допустим, файлы Main.java, Main.class лежат в каталоге c:\temp. Каталог с java.exe прописан в переменной окружения PATH. Я ввожу команды
> cd c:\temp
> java Main
и облом sad.gif

Автор: AntonSaburov 2.6.2004, 16:09
Приведи пример полностью - без кода уже разговаривать сложно.

Автор: srd 2.6.2004, 16:29
Код

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

Это всё huh2.gif

Автор: Domestic Cat 2.6.2004, 16:33
Posmotrite zdes:

http://java.sun.com/docs/books/tutorial/getStarted/cupojava/win32.html#2c

smile.gif

Автор: srd 2.6.2004, 16:47
Domestic Cat
Спасибо большое! У меня на компе установлен Pervasive SQL, который создал переменную окружения CLASSPATH, в которую прописал два своих JAR файла. Видимо поэтому java.exe не искал файлы в текущем каталоге. Теперь проблема решена.

Спасибо всем откликнувшимся.

Автор: Lyna 10.2.2010, 04:19
Что делать если ""javac" не является внутренней или внешней командой..."? 
Classpath и Path сделала. 
В Path добавила путь директории, в которой находятся java.exe
А в Classpath указала путь директории, в которой находятся классы.

Автор: serger 10.2.2010, 08:44
Смотрим FAQ тут: http://base.vingrad.ru/Java-992
точнее, тут: http://base.vingrad.ru/view/122-Kak-nachat-rabotat-s-JAVA

Добавлено через 3 минуты и 51 секунду
ps. внимательно, по шагам...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)