Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Запускаем HelloWorld из консоли
Список форумов
 ->  Примеры


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
Jean : 1989
JavaTalks Team Member
Откуда: Санкт-Петербург

СообщениеАпр 17, 2007 7:58 
Ответить с цитатой
1. Устанавливаем JDK. Обычно, по-умолчанию, он ставится в C:\jdk... У меня эта папка называется C:\jdk1.5.0_06.

2. Необходимо указать системе, где искать наши javac.exe и java.exe. Находятся они тут C:\jdk1.5.0_06\bin. Кроме двух указанных экзешников, есть ещё масса полезных утилит; находятся там же.
Итак: "Мой компьютер"->Свойства->Дополнительно->"Переменные среды". В "Системных переменных" находим переменную PATH и добавляем в неё путь до папки bin. У меня переменная была такая (укороченный вариант): "%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;", после добавления будет такой: "%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\jdk1.5.0_06\bin"
После изменения, необходимо перезагрузиться. Если Вы будете дальше работать с Far'ом, можно его запустить после изменения настроек, он подхватит системные переменные и в "этом" Far'е все будет работать, но в системе изменения вступят в силу только после перезагрузки.

3. Пишем программу на языке Java. Для начала можно использовать любой текстовый редактор, хоть блокнот. Создаем файл HelloWorld.java и пишем такую программу:
Код:
public class HelloWorld
{
    public static void main(String [] args)
    {
        System.out.println("Hello, World!");
    }
}
Обязательно нужно учесть регистр класса и имени файла.

4. Компилируем таким образом - можно использовать Far, можно запустить командную строку (Пуск->Выполнить->cmd). Переходим в каталог, где лежит файлик HelloWorld.java) и набираем команду:
Код:
javac HelloWorld.java
В случае успеха ничего на экран не выводится. Значит, набираем команду для запуска:
Код:
java -cp . HelloWorld
Обязательно учтите точку в команде запуска и регистр букв везде - java в принципе регистрозависимая, поэтому привыкать придется.
После ввода команды запуска в консоль выводится текст "Hello, World!"
Поздравляю, Ваша первая программа запущена! Wink
К началу Посмотреть профиль Отправить личное сообщение
Vurn : 1108
Java Developer

СообщениеНоя 12, 2007 9:21 
Ответить с цитатой
Добавление к п.4
Командой перехода к нужному каталогу в Windows является, к примеру
Код:

cd C:\jdk1.5.0_06\

если файл был сохранен в
Код:

C:\jdk1.5.0_06\
К началу Посмотреть профиль Отправить личное сообщение
Jean : 1989
JavaTalks Team Member
Откуда: Санкт-Петербург

СообщениеДек 12, 2007 0:27 
Ответить с цитатой
Ситуация с одним файлом в пакете по-умолчанию обычно проблем не вызывает. Опишу простую ситуацию при работе с пакетами. Итак...

Структура каталогов будет иметь такой вид:
Код:
src
- first
-- FirstClass.java
- second
-- SecondClass.java

Чтобы было понятнее: есть папочка src, в которой находятся две папки - first и second, в каждой из которых по файлу.

Пишем первый файлик:
Код:
package first;

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

  public static void method()
  {
    System.out.println("Hello from first class");
  }
}

Ключевая строка - первая. Она как раз и говорит компилятору, что данный класс находится в папке first.

Второй файлик:
Код:
package second;

import first.*;

public class SecondClass
{
  public static void main(String args[])
  {
    System.out.println("Hello world from second class!");
    FirstClass.method();
  }
}

Здесь я добавил инструкцию для импорта первого класса, чтобы запустить его метод и показать как они работают.

Компилируем. Для этого переходим в директорию src и запускаем такую строку:
Код:
javac first/FirstClass.java
javac second/SecondClass.java

Здесь необходимо сделать такое замечание. Компилятору javac абсолютно фиолетово из какой папки Вы будете компилировать классы, ему важно указать правильный путь к папке. Скажем, мы могли перейти в директорию к каждому исходнику и запустить так:
Код:
javac FirstClass.java

В случае же с запуском ситуация несколько иная.
Теперь рядом с исходником в каждой папке получим скомпилированные файлы.

Запускаем. Вот теперь обязательно нужно перейти в директорию src, поскольку jvm будет искать файлы по указанным в них пакетам и если запускать эти классы каким-либо иным образом, то получим NoClassDefFoundError эксепшн. Итак, перешли в директорию src и запускаем:
Код:
java first/FirstClass или
java second/SecondClass
К началу Посмотреть профиль Отправить личное сообщение
exceilence : 4
Новичок

СообщениеОкт 20, 2011 14:18 
Ответить с цитатой
Автор молодец, могёт. Можно было поподробнее, но и так тоже хорошо.
Например почему в "jar cvmf manifest.mf helloWorld.jar -C ./classes mypackage"

cv как расшифровывается? -С что значит в полном варианте.... чятобы ассоциации были, а не просто иероглифы.

-С видимо change значит.
К началу Посмотреть профиль Отправить личное сообщение
Slat : 17
Новичок

СообщениеЯнв 08, 2012 18:46 
Ответить с цитатой
Скажите, а можно ли сделать так, чтобы откомпилированный класс запускался батником(файлом с расширением .bat)
К началу Посмотреть профиль Отправить личное сообщение
Skipy : 4455
Я тут живу!
Откуда: Москва, Россия

СообщениеЯнв 10, 2012 15:50 
Ответить с цитатой
Slat писал(а):
Скажите, а можно ли сделать так, чтобы откомпилированный класс запускался батником(файлом с расширением .bat)


А кто мешает сделать bat-файл, в котором написать нужную команду?
_________________
С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других!
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
Slat : 17
Новичок

СообщениеЯнв 27, 2012 20:52 
Ответить с цитатой
А метод main обязательно в каждом файле. Я понимаю, что будет ошибка при компиляции, но может это можно как-нибудь обойти, чтобы не загромождать программу?
К началу Посмотреть профиль Отправить личное сообщение
BealasTTS : 13
Новичок

СообщениеЯнв 29, 2012 15:17 
Ответить с цитатой
Цитата:
А метод main обязательно в каждом файле. Я понимаю, что будет ошибка при компиляции, но может это можно как-нибудь обойти, чтобы не загромождать программу?


Все, что могу предложить:
Код:

public class StaticInitTest{
//статические блоки инициализации выполняются при первой загрузке класса
    static{
         System.out.println("HELLO WORLD");
         //чтобы виртуальная машина не ругалась на отсутствие метода main, выходим
         System.exit(0);
    }
}
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 1 из 1
Список форумов
 -> Примеры


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru