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

Команда javac используется для компиляции исходных файлов Java в файлы байт-кода. Файлы байт-кода не зависят от платформы. Это означает, что вы можете скомпилировать свой код на одном оборудовании и операционной системе, а затем запустить код на любой другой платформе, поддерживающей Java.

Команда javac включена в дистрибутивы Java Development Kit (JDK).

Компилятор Java и остальная часть стандартной инструментальной привязки Java накладывают следующие ограничения на код:

  • Исходный код хранится в файлах с суффиксом «.java»
  • Байткоды хранятся в файлах с суффиксом «.class»
  • Для файлов исходного и байт-кода в файловой системе имена файлов должны соответствовать именам пакетов и классов.

Примечание. Компилятор javac не следует путать с компилятором Just in Time (JIT), который компилирует байт-коды в собственный код.

Команда «javac» — начало работы

Простой пример

Предполагая, что «HelloWorld.java» содержит следующий источник Java:

Уроки Java для начинающих #3 | Компиляция программы


public class HelloWorld < public static void main(String[] args) < System.out.println(«Hello world!»); >>

(Для объяснения приведенного выше кода обратитесь к началу работы с языком Java .)

Руководство по Java 9: компиляция и запуск проекта

Команды java и javac редко используются Java-программистами. Такие инструменты, как Maven и Gradle делают их почти не нужными. Однако Maven и Gradle до сих пор не предоставляют полную поддержку для Java 9, поэтому, если вы хотите начать использовать её уже сейчас или просто хотите узнать некоторые полезные тонкости до официального релиза, стоит научиться вызывать java , javac и jar для управления своим кодом.

Читайте также:
Рабочая программа по немецкому языку как второму иностранному горизонты

Статья призвана показать примеры использования этих команд, а также то, как эти команды изменились по сравнению с прошлыми версиями Java. Дополнительно будут рассмотрены новые инструменты: jdeps и jlink . Предполагается, что вы хоть немного знакомы с предыдущими версиями команд java / javac / jar и с модульной системой Java 9.

Установка Java 9

Сперва необходимо установить Java 9. Вы можете скачать её с сайта Oracle, но рекомендуется использовать SdkMAN!, так как в будущем он позволит вам с легкостью переключаться между разными версиями Java.

Можно установить SdkMAN! с помощью этой команды:

curl -s «https://get.sdkman.io» | bash

Посмотрите, какая сборка является последней:

sdk list java

Затем установите Java 9:

sdk install java 9ea163

Теперь, если у вас установлены другие версии Java, вы можете переключаться между ними с помощью команды:

sdk use java

Компиляция и запуск «по-старому»

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

Возьмем этот простой Java-класс:

package app; public class Main < public static void main( String[] args ) < System.out.println( «Hello Java 9» ); >>

Теперь, так как мы не использовали никаких особенностей Java 9, мы можем скомпилировать всё как обычно:

✅КАК СКОМПИЛИРОВАТЬ ИЗ JAVA В EXE?/(How To Make A Executable File From Java Code)☕


javac -d out src/app/Main.java

Команда создаст файл класса out/app/Main.class . Запустить его можно так же, как и в прошлых версиях:

java -cp out app.Main

Программа выведет Hello Java 9 .

Java Developer Открытие , Удалённо , По итогам собеседования

Теперь создадим библиотеку Greeting также без особенностей Java 9, чтобы посмотреть, как это работает.

Читайте также:
Рабочая программа подготовка будущих первоклассников

Создадим файл greeting/ser/lib/Greeting.java со следующим кодом:

package lib; public class Greeting < public String hello() < return «Hi there!»; >>

Изменим класс Main для использования нашей библиотеки:

package app; import lib.Greeting; public class Main < public static void main( String[] args ) < System.out.println( new Greeting().hello() ); >>

Скомпилируем эту библиотеку:

javac -d greeting/out greeting/src/lib/Greeting.java

Чтобы показать, как работают оригинальные Java-библиотеки, мы превратим эту библиотеку в jar-файл без дескрипторов модулей Java 9:

mkdir libs jar cf libs/lib.jar -C greeting/out .

Команда создаст файл libs/lib.jar , содержащий класс lib.Greeting .

Просмотреть информацию о jar-файле можно с помощью опции tf :

jar tf libs/lib.jar

Команда должна вывести:

META-INF/ META-INF/MANIFEST.MF lib/ lib/Greeting.class

Теперь для компиляция app.Main нам необходимо указать компилятору, где найти класс lib.Greeting .

Используем для этого cp (classpath):

javac -d out -cp libs/lib.jar src/app/Main.java

И то же самое для запуска программы:

java -cp out:libs/lib.jar app.Main

Компиляция и запуск программ на Java

Изображение баннера

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

Этим Java похожа на C и C++ и отличается от, например, Python и PHP

Компиляция

javac Class.java
java Class

Перейдите в папку C:UsersUsername

создайте там директорию hello_java

и перейдите в эту директорию

mkdir hello_java
cd hello_java

Создайте в блокноте пустой файл и сохраните его в hello_java под именем Hello.java

Скопируйте в этот файл следующий код

В Java имя файла должно совпадать с именем класса. Файл мы назвали Hello.java значить класс должен называться Hello

Читайте также:
Драйвер это 1 устройство компьютера 2 программа для работы

В командной строке выполните

Hello.java скомпилируется в Hello.class

Убедитесь, что в директории hello_java появился файл Hello.class выполнив

Volume in drive C is C Volume Serial Number is FCB7-BB1E Directory of C:UsersAndreihello_java 07/21/2020 04:18 PM . 07/21/2020 04:18 PM .. 07/21/2020 04:18 PM 422 Hello.class 07/21/2020 04:18 PM 145 Hello.java 2 File(s) 567 bytes 2 Dir(s) 81,734,488,064 bytes free

Даже в такой простой программе мы уже успели задействовать Java Standard Edition (SE) APIs вызвав System

Есть ещё Java Enterprise Edition (EE) APIs, но они уже не поддерживаются Oracle, а переданы в Eclipse Foundation и доступны по ссылке jakarta.ee

Следующий шаг — выполнение кода.

Выполнить

В командной строке выполните

Вызвав java мы обратились к Java Virtual Machine (JVM)

Java Standard Edition (SE) APIs + Java Virtual Machine (JVM) = Java Development Kit (JDK)

java + javac = JDK

Компиляция с указанием кодировки

Чтобы явно указать кодировку utf8

javac -encoding utf8 Hello.java

Источник: www.andreyolegovich.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru