Запускаем HelloWorld из консоли

 
 
 
Сообщения:2030
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:

Всякое решение плодит новые проблемы
 
 
Сообщения:1240
Добавление к п.4
Командой перехода к нужному каталогу в Windows является, к примеру
cd C:\jdk1.5.0_06\

если файл был сохранен в
C:\jdk1.5.0_06\
 
 
Сообщения:2030
Ситуация с одним файлом в пакете по-умолчанию обычно проблем не вызывает. Опишу простую ситуацию при работе с пакетами. Итак...

Структура каталогов будет иметь такой вид:
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

Всякое решение плодит новые проблемы
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет