|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
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!"
Поздравляю, Ваша первая программа запущена!  |
|
|
|
 |
Vurn : 1108 Java Developer
|
Ноя 12, 2007 9:21 |
|
|
Добавление к п.4
Командой перехода к нужному каталогу в Windows является, к примеру
если файл был сохранен в
|
|
|
|
 |
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. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
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
|
Список форумов
-> Примеры |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|