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


Автор: Cross 9.4.2008, 18:21
Понимаю, что вопрос типичный, но у меня никак не получается запустить java из командной строки...
Даже простой класс HelloWorld не запускается. (запускаю из того раздела, где находится файл HelloWorld.class)
Выдается ошибка:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld

Path у меня прописан... Пробовала запускать так: 
java -classpath d:/jdk4/bin HelloWorld
та же ошибка ...

Пробовала запускать из папки JAVA_HOME/BIN - все равно все то же самое.
 
При этом если запускаю просто команду java, то появляется справка, все как положено...

Пожалуйста, укажите на ошибку. В чем тут может быть дело?

Автор: v2v 9.4.2008, 18:23
Код

java HelloWorld

из каталога с файлом HelloWorld.class

Добавлено через 1 минуту и 6 секунд
а покажи ка файлик HelloWorld.java

Автор: Cross 9.4.2008, 18:41
Вот например такой HelloWorld:

Код

public class HelloWorld {
    public static void main( String args[] ) {

        System.out.println("HELLO WORLD!!!");
    }
}

Автор: v2v 9.4.2008, 18:55
понятное дело не проходит.
вы используете не известный класс

Цитата(Cross @  9.4.2008,  18:41 Найти цитируемый пост)
CellPOAImpl


если вам надо запустить именно это приложение , а не любое приложение из командной строки, тогда вам http://omzg.sscc.ru/~pnl/4course/CORBA/corbalab/corba.html

Автор: Cross 9.4.2008, 18:57
Я там уже была. Оттуда и взяла файлик.
Но я уже отредактировала пост - написала какой HelloWorld у меня не запускается.
Посмотрите пожалуйста!

Автор: v2v 9.4.2008, 19:02
Цитата

d:\Tmp\hi>javac HelloWorld.java

d:\Tmp\hi>java HelloWorld
HELLO WORLD!!!

d:\Tmp\hi>


Автор: Cross 9.4.2008, 19:05
Ну я также делаю, не получается. 
В чем может быть дело???

Автор: Samotnik 9.4.2008, 19:06
Cross,  в коде 100%   все правильно ))
значит у вас  classpath   не прописан, либо  порписанн криво,  либо не от туда запускаете ...  smile 

Автор: v2v 9.4.2008, 19:07
Цитата(Cross @  9.4.2008,  19:05 Найти цитируемый пост)
Ну я также делаю, не получается. 
В чем может быть дело??? 

что выводится в консоль. какие сообщения об ошибке?

Автор: Samotnik 9.4.2008, 19:12
сделайте все пошагам, как  вот  http://forum.vingrad.ru/faq/topic-157939.html   описанно !!!    
и все получицца !
единственное дополнение, когда прописываете  переменную  среду окружения,  нужно перезагрузить комп (по крайней мере у меня без перезагрузки не работает )

Автор: Kangaroo 9.4.2008, 19:42
Цирк  smile 

Из папки с файлом HelloWorld.class:
java -cp . HelloWorld

Автор: v2v 9.4.2008, 19:56
Kangaroo, шо за изврат?

Добавлено через 11 секунд
зачем?

Автор: Nestor 9.4.2008, 20:05
Цитата(v2v @  9.4.2008,  19:56 Найти цитируемый пост)
Kangaroo, шо за изврат?

Добавлено через 11 секунд
зачем? 

Чтобы добавить текущую директорию в classpath. Так надежнее.

Автор: Kangaroo 9.4.2008, 20:13
Цитата(v2v @  9.4.2008,  19:56 Найти цитируемый пост)
Kangaroo, шо за изврат?

Добавлено через 11 секунд
зачем?

Потому что в этом была ошибка  smile Почему - выше объяснили

Автор: v2v 9.4.2008, 20:14
Цитата(Nestor @  9.4.2008,  20:05 Найти цитируемый пост)

Чтобы добавить текущую директорию в classpath. Так надежнее. 

я знаю что оно делает smile
Цитата(Kangaroo @  9.4.2008,  20:13 Найти цитируемый пост)

Потому что в этом была ошибка  smile Почему - выше объяснили


Цитата(v2v @  9.4.2008,  19:56 Найти цитируемый пост)

зачем?



ошибка не в этом.
а лишний код только запутывает.

Автор: Kangaroo 9.4.2008, 20:24
Цитата(v2v @  9.4.2008,  20:14 Найти цитируемый пост)
ошибка не в этом.
а лишний код только запутывает.

Подождем Cross, пусть попробует  smile 

Автор: Cross 10.4.2008, 13:57
Спасибо Вам всем за помощь!!! 

Все сделала как написано в ссылке от Cartman J2EE Develop!!!

Код

D:\JDK4\bin\java.exe -classpath D:\ HelloWorld


Заработало! А это главное... Я то уж думала, что дело в самой Java...
у меня на машине их сейчас много версий установлено разных.

Спасибо!!! 
 

Автор: Kangaroo 10.4.2008, 14:04
Cross
попробуй, пожалуйста, как я написал. Только сработает, если у тебя в path прописан D:\JDK4\bin\

Цитата(Kangaroo @  9.4.2008,  19:42 Найти цитируемый пост)

Из папки с файлом HelloWorld.class:
java -cp . HelloWorld 


Автор: skif18 10.4.2008, 16:26
А почему не делаешь jar файл? У меня через FatJar и отлично запускается. Какието противопоказания имеются?

Автор: Cross 10.4.2008, 17:43
Kangaroo, я попробовала как вы написали - получилось!!!  smile 
Спасибо огромное!!!
А что значит точка и -cp?

skif18, напишите пожалуйста как вы делаете jar файл. Я синтаксиса не знаю!


Автор: Kangaroo 10.4.2008, 17:50
Цитата(Cross @  10.4.2008,  17:43 Найти цитируемый пост)
Kangaroo, я попробовала ка вы написали - получилось!!!  

 smile  smile 


Цитата(Cross @  10.4.2008,  17:43 Найти цитируемый пост)
А что значит точка и -cp?

-cp  это сокращенное от -classpath
А точка - это текущий каталог.

У тебя просто сам класс не искался в каталоге откуда ты его запускала.

Автор: Cross 10.4.2008, 17:52
Спасибо вам ОГРОМНОЕ!!!  smile 

Автор: v2v 11.4.2008, 18:17
Цитата(Kangaroo @  10.4.2008,  17:50 Найти цитируемый пост)

У тебя просто сам класс не искался в каталоге откуда ты его запускала. 

Kangaroo, на самом деле в туториале , ссылку на который давал Самотник , рассказано как это лечится.
так что в данном случае будет запускатся с любым ср :e

Автор: dorogoyIV 11.4.2008, 19:41
Цитата(Kangaroo @  10.4.2008,  17:50 Найти цитируемый пост)
    

а я вот противник всяких прописываний путей!
джава должна работать на любом компе (ну естественно с установленной jre)!!!
на своей машине я поудалял все собственноручнопрописанные classpath

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