Перейти к содержимому

Как скомпилировать консольную программу в java

  • автор:

Как правильно компилировать с помощью cmd.exe?

введите сюда описание изображения

Задам нубский вопрос: как компилировать через cmd.exe в моем случае программу? В файле MiniDuckSimulator нах-ся psvm. Где я вообще могу посмотреть, как правильно компилировать файлы в различных случаях, а то я не очень понимаю, когда использовать -cp, -sourcepath, -classpath и т.п. Мне очень хотелось бы разобраться вэтом вопросе и научиться архивировать, распаковывать через командную строку. Что можете посоветовать?

Отслеживать
задан 30 июн 2020 в 21:13
Александр Скворцов Александр Скворцов
123 1 1 серебряный знак 6 6 бронзовых знаков
На habr имеется неплохая статья.
30 июн 2020 в 21:25

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Консольная утилита javac :

Используется для компиляции программы, основной опцией которой является:

  • —source-path / -sourcepath — указывает на каталог, в котором находятся файлы исходного кода (для java — это файлы с расширением .java ):
    • используется при компиляции исходников в байткод (в .class файлы);

    Консольная утилита java :

    Используется для запуска программы, основной опцией которой является:

    • —class-path path / -classpath path / -cp — указывает на каталог, в котором находятся скомпилированные файлы ( .class ):
      • используется при запуске программы (за счет интерпретации на стороне JVM файлов байткода, т.е. .class файлов).

      Консольная утилита jar :

      Используется для манипуляции с архивами (создания архивов, извлечение из них .class файлов, . ), основной опцией которой является:

      • —create / -c — создание архива.

      На изучение:

      1. статья на habr, посвященная вашему вопросу;
      2. официальная документация на консольную утилиту javac (в рамках JDK 11);
      3. официальная документация на консольную утилиту java (в рамках JDK 11);
      4. официальная документация на консольную утилиту jar (в рамках JDK 11).

      #8. Компиляция и выполнение java программы с командной строки

      Продолжаем курс программирования java для android-разработчиков. Данный урок научит вас запускать java программы из командной строки, для общего понимания процесса компиляции и запуска программ на языке java.

      После создания простого приложения, которое выводит что-то на экран, вы должны компилировать ваш код и запустить его.

      Независимо от того, какую операционную систему вы используете, Linux, Mac или Windows, если на вашем компьютере установлен JDK (Java Development Kit), вы можете в консоли набрать следующие команды чтобы скомпилировать и запустить программу:

      • javac (или javac.exe)
      • java (или java.exe)

      В первом случае будет вызван компилятор javac.exe, а во втором случае – запускалка java.exe, которая стартует нашу программу. Эти файлы лежат в папке bin вашего JDK.

      Рассмотрим на примере. Вспомним код из первого урока – создадим файл с названием Main.java.

      public class Main < public static void main(String[] args) < System.out.println("Hello, World!"); >>

      Идем в папку, куда среда разработки сохранила проект. Я работаю в IntelliJIDEA, и мой проект лежит в C:\Users\имя пользователя\IdeaProjects\название проекта\src. Находим там наш файл Main.java. Консоль вызывается так: щелкаем правой клавишей мыши с зажатой клавишей Shift на пустом месте в папке, где лежит файл нашей программы, и выбираем пункт контекстного меню “Открыть окно команд”.
      Для того, чтобы скомпилировать его нужно набрать в консоли команду javac и в качестве параметра передать имя нашего файла:

      javac Main.java

      Эта команда вызовет компилятор, который создаст файл Main.class, содержащий скомпилированный код нашей java программы.

      Чтобы запустить ее, нужно ввести команду java с именем класса (не файла!) в качестве параметра:

      java Main.class //так неправильно
      java Main //так правильно

      Аргументы

      В главном классе нашей программы есть метод public static void main(. ) , который в качестве аргумента принимает массив String[] args.

      Массив строк в качестве аргумента можно передать в программу при запуске из командной строки .

      Любой массив в Java имеет переменную длину, это число элементов в этом массиве.

      Добавим такой код в класс Main.java:

      public class Main < public static void main(String[] args) < for (int i = 0; i < args.length; i++) < System.out.println(args[i]); >> > 

      И чтобы скомпилировать и запустить программу с аргументами, пишем в консоль:

      javac Main.java java Main arg0 arg1 arg2

      Упражнение

      Создайте программу, которая выводит аргументы, переданные при запуске, в одну строку.

      Дополнительное чтение:

      • Сборка и выполнение Java программ
      • Исключения (Exception) и их обработка в Java

      Как скомпилировать и запустить программу на Java?

      В одной из предыдущих статей я уже рассказывал как начать писать программы на Java, но тогда, чтобы как можно быстрее показать Вам как просто можно начать писать на Java я использовал среду разработки NetBeans, но сейчас я хочу рассказать Вам как скомпилировать и запустить java-файл используя лишь инструменты стандартной поставки JDK.

      Вы можете возразить мне, что дескать зачем это нужно, когда есть замечательные среды разработки, которые и ошибки исправят и знаки препинания где надо расставят. Но для новичков — это медвежья услуга. Все эти среды разработки являются удобными и мощными обертками над существующими инструментами. Поэтому чтобы стать профессионалом важно знать как это все работает под капотом. Впоследствии, когда вы уже хорошо разберетесь с тем как функционируют компоненты JDK, вам уже будет намного проще разобраться и со средами разработки.

      В комплект средств разработки JDK входят две базовые программы, которые понадобятся нам, для того, чтобы скомпилировать — javac.exe и запустить — java.exe программу на Java. Эти консольные программы находятся в папке bin JDK. У меня этот путь следующий:

      C:\Java\jdk1.8.0_91\bin\java.exe — java интерпритатор
      C:\Java\jdk1.8.0_91\bin\javac.exe — java компилятор

      Чтобы у Вас была возможность скомпилировать и запустить Java программу эти консольные программы должны быть доступны в переменной среды PATH вашего ПК. Как добавить свой путь в эту переменную Вы можете найти в Интернете.

      Итак, представим, что JDK мы установили, нужные пути прописали, теперь давайте создадим файл Java программы, который будет выводить некоторую надпись в консоль. Код класса должен лежать в файле HelloWorld.java в кодировке UTF-8.

      class HelloWorld
      public static void main(String[] args)
      System.out.println(«Hello, Myrusakov.RU»);
      >
      >

      Компилируем файл так:

      C:/> javac HelloWorld.java

      Если ошибок нет, то на выходе Вы получите файл HelloWorld.class в той же папке. Запустить этот файл можно командой:

      C:/> java HelloWorld

      Во втором случае расширение класса указывать не нужно.

      При компилировании, текст Java программы преобразуется в байт-код, понятный виртуальной машине Java. Байт-код — это такое промежуточное представление, которое может запускаться везде где есть исполняемая среда. В этом то и состоит мощь Java. Один раз написав и скомпилировав программу Вам уже не будет надобности думать, а запуститься ли она на другом компьютере, с другой операционной системой. Ваша Java программа будет работать везде, где есть виртуальная машина Java.

      Таким образом мы написали программу на Java, скомпилировали ее и запустили. Конечно с помощью интегрированной среды разработки это можно было бы сделать куда быстрее и без лишних слов, как говориться, но знание базового процесса создания программ на Java, конечно необходимо. А для тех, кто хочет насколько это возможно быстро освоить Java у меня есть специальный видеокурс «Программирование на Java с Нуля до Гуру».

      Создано 06.06.2019 10:26:37

    • Михаил Русаков

    Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.

    Скомпилировать и запустить консольное приложение

    Помогите скомпилировать консольное приложение
    У меня есть программа из книги //Астрономия на персональном компьютере// (исходники на С++.

    Невозможно запустить консольное приложение
    Проблема может даже очень тривиальная, но никак не могу въехать.. Ситуация одинаковая и с Билдером.

    Запустить и скрыть консольное приложение
    Всем привет. У меня есть функция для запуска программ function StartProccess(filepath: string;.

    Программно запустить консольное приложение
    Помогите разобраться с кодом есть консольное приложение. Мне нужно чтоб его можно было запускать.

    Am I evil? Yes, I am!

    Эксперт PythonЭксперт Java

    18966 / 9661 / 2710
    Регистрация: 21.10.2017
    Сообщений: 21,466

    Лучший ответ

    Сообщение было отмечено Kukstyler как решение

    Решение

    ЦитатаСообщение от Noob-IT Посмотреть сообщение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Luxury Car Rental in Miami | Reserve a Premium Vehicle with RealCar