ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

Запуск Java классов ΠΈ JAR-ΠΎΠ² Π½Π΅ ΠΏΠΎ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΡƒ

МСня Π΄Π°Π²Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π»Π° ΠΌΡ‹ΡΠ»ΡŒ ΠΊΠ°ΠΊ Π² Linux-Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java Π±Π΅Π· Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Bash скриптов. Π― Π½Π΅ Π²ΠΈΠ΄Π΅Π» ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ссли Π½Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ способ Β«bash script payloadΒ», ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠΎΠ½Π΅Ρ† скрипта помСщаСтся Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

Но Π½Π° ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ случайно наткнулся Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ядра binfmt_misc, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ исполнСниС Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ Π΅Π³ΠΎ magic number. Для этого Ρ‡Π΅Ρ€Π΅Π· update-binfmts добавляСтся собствСнный ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ для получСния ΠΈΠΌΠ΅Π½ΠΈ исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅

Как оказалось Π² ΠΌΠΎΠ΅ΠΉ Ubuntu 16.04 ΡƒΠΆΠ΅ зарСгистрирован ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ для JAR Ρ„Π°ΠΉΠ»ΠΎΠ²:

ΠžΡ‚Π΄Π°Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ chmod +x foo.bar я радостно ΠΏΠΎΡ‚ΠΈΡ€Π°Π» Ρ€ΡƒΠΊΠΈ, Π½ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ оказалось сурова β€” запуск ./foo.jar Π²Ρ‹Π΄Π°Π» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠŸΠΎΠ³ΡƒΠ³Π»ΠΈΠ², я нашСл ΠΎΠ±Ρ€ΠΎΡΡˆΠΈΠΉ ΠΌΡ…ΠΎΠΌ Π±Π°Π³ bugs.java.com/bugdatabase/view_bug.do?bug_id=6401361 Как оказываСтся сборка Ρ‡Π΅Ρ€Π΅Π· Maven Π½Π΅ добавляСт Β«0xcafeΒ» Π² Π½Π°Ρ‡Π°Π»ΠΎ JAR Ρ„Π°ΠΉΠ»Π°. НС ΠΌΠ΅Π½Π΅Π΅ бСзотвСтствСнно Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ maven-assembly-plugin. Π§Ρ‚ΠΎ Π½Π΅ нравится /usr/bin/jexec, зарСгистрированному ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ΠŸΠΎΠ³ΡƒΠ³Π»ΠΈΠ² Π΅Ρ‰Π΅, я нашСл Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ‡Π΅Ρ€Π΅Π· установку ΠΏΠ°ΠΊΠ΅Ρ‚Π° jarwrapper. ПослС установки добавляСтся Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ /usr/bin/jarwrapper ΠΈ страховка /usr/bin/jardetector (провСряСт ΠΏΠΎ META-INF Ρ‡Ρ‚ΠΎ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ JAR). Но ΠΈΠ·ΡƒΡ‡ΠΈΠ² ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ ΠΊΡƒΡ‡Π° лишнСй Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄Π΅Π»Π°Π΅Ρ‚ скрипт запуская мноТСство Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ стал собствСнный ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ:

Π”Π°Π»ΡŒΡˆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» sudo gedit /var/lib/binfmts/jar ΠΈ рСгистрируСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π·Π°ΠΌΠ΅Π½ΠΈΠ² строчку с /usr/bin/jexec Π½Π° /usr/bin/jarinvoke. На самом Π΄Π΅Π»Π΅ это ΠΏΠ»ΠΎΡ…ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ (ΠΎΠ± этом Π½ΠΈΠΆΠ΅), Π½ΠΎ для ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ понимания сойдСт.

Для вступлСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² силу ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ:

ПослС Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ JAR Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠ°ΠΊ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹.

Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Π΅ классы

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ΄Ρ‚ΠΈ дальшС ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· Java классов исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, Π³Π΄Π΅ jarwrapper Π½Π΅ смоТСт ΠΏΠΎΠΌΠΎΡ‡ΡŒ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для классов с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Ρ‚.Π΅. классы с ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ package Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ). ΠœΠΎΠΆΠ΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Π»ΡƒΡ‡ΡˆΠ΅, Π½ΠΎ ΠΌΠ½Π΅ Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для «скриптования» Π½Π° Java:

ПослС Ρ‡Π΅Π³ΠΎ рСгистрируСм собствСнный ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ (этим ΠΆΠ΅ способом ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ для JAR-ΠΎΠ² Π½Π΅ рСдактируя /usr/bin/jexec):

МоТно ΠΏΠΎΠΉΡ‚ΠΈ ΠΈ дальшС, сдСлав Π±ΠΎΠ»Π΅Π΅ слоТный ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρƒ классов Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² CLASSPATH ΠΈΠ·

/.m2, Π½ΠΎ это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ история. БСйчас интСрСсСн взгляд со стороны, замСчания, дополнСния, Ссли Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ Π΅ΡΡ‚ΡŒ. ПослС Ρ‡Π΅Π³ΠΎ Π΄ΡƒΠΌΠ°ΡŽ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ это Π² deb ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ всё Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

JAR (Java ARchive) – это нСзависимый ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для объСдинСния ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² классов Java ΠΈ связанных с Π½ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ рСсурсов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ тСкст, изобраТСния ΠΈ Ρ‚. Π΄., Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» для распространСния.

Он позволяСт Java-срСдам эффСктивно Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ Π°Ρ€Ρ…ΠΈΠ²Π΅ ΠΈ прСдоставляСт мноТСство прСимущСств, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, Π΅Π³ΠΎ элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сТаты, сокращСно врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, позволяСтcz ΡƒΠΏΠ»ΠΎΡ‚Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ.

Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ.

Когда этот Ρ„Π»Π°Π³ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ JAR-Ρ„Π°ΠΉΠ» являСтся источником всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… классов, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡƒΡ‚ΠΈ класса ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ JAR-Ρ„Π°ΠΉΠ» Π² Linux

1. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ с написания простого Java-класса с основным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ для прилоТСния TecmintApp для дСмонстрационных Ρ†Π΅Π»Π΅ΠΉ.

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Ρ„Π°ΠΉΠ» TecmintApp.java.

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅.

2. Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ класс Π² JAR-Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ javac ΠΈ jar, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

3. Π‘ΠΎΠ·Π΄Π°Π½Π° Ounce tecmint app.jar, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ java, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Из Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ошибкой. JVM (Java Virtual Machine) Π½Π΅ смог Π½Π°ΠΉΡ‚ΠΈ наш основной Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚, поэтому ΠΎΠ½ Π½Π΅ смог Π½Π°ΠΉΡ‚ΠΈ основной класс, содСрТащий основной ΠΌΠ΅Ρ‚ΠΎΠ΄ (public static void main (String [] args)).

Π€Π°ΠΉΠ» JAR Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ манифСст, содСрТащий строку Π² Ρ„ΠΎΡ€ΠΌΠ΅ Main-Class: classname, которая опрСдСляСт класс с основным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слуТит ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ нашСго прилоТСния.

4. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ JAR-Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ манифСста вмСстС с нашим ΠΊΠΎΠ΄ΠΎΠΌ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Ρ„Π°ΠΉΠ» MANIFEST.MF.

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² Ρ„Π°ΠΉΠ» MANIFEST.MF.

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ» MANIFEST.MF Π² наш tecmintapp.jar, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

5. НаконСц, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ снова Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Ρ„Π°ΠΉΠ» JAR, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π°ΠΌ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅:

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. Man-страницы java, javac ΠΈ jar.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π•ΡΡ‚ΡŒ Π»ΠΈ способ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» с Java Π² Bash Terminal? ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Minecraft.jar.

. Бинтаксис ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для запуска (ΠΎΡ‚ «источников») сцСнариСв ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

Если Ρƒ вас Π½Π΅ установлСна ​​Java, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, установив default-jre ΠΏΠ°ΠΊΠ΅Ρ‚ ΒΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ссли Ρƒ вас ΡƒΠΆΠ΅ установлСна ​​Java, запустив Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

Linux Π²ΠΏΠΎΠ»Π½Π΅ способСн Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ‡ΡƒΠΆΠΎΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» JAR. Π’Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Wine, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ JAR-Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠ°ΠΊ исполняСмыС, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π² консоли ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ„Π°ΠΉΠ» JAR ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π° исполняСмый (Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‡Π΅Ρ€Π΅Π· свойства Ρ„Π°ΠΉΠ»Π° Π² Nautilus)

ЗапуститС ваш JAR-Ρ„Π°ΠΉΠ» Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π» любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ исполняСмый Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ скрипт ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

Если это исполняСмый Ρ„Π°ΠΉΠ» jar, Ρ‚ΠΎ

НС всС jar-Π°Ρ€Ρ…ΠΈΠ²Ρ‹ содСрТат исполняСмый класс, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ для запуска Π² Ρ„Π°ΠΉΠ»Π΅ манифСста, Π½ΠΎ Ссли ΠΎΠ½ Π΅ΡΡ‚ΡŒ, это Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ xybin просто запускаСтся с Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ссли ΠΎΠ½ находится Π² ΠΏΡƒΡ‚ΠΈ:

ΠΈΠ»ΠΈ с Π΅Π³ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ:

ΠΈΠ»ΠΈ с Π΅Π³ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ:

ΠΈΠ»ΠΈ, Ссли Π²Ρ‹ оказались Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ„Π°ΠΉΠ»Π°, с этим ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ:

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ bash, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, псСвдонимов ΠΈ настроСк ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Java ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Linux

Π“Π»Π°Π²Π½ΠΎΠ΅ мСню Β» ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Β» Java Β» Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Java ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Linux

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

Π―Π·Ρ‹ΠΊ Java – ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков программирования высокого уровня. Он ΠΈΠΌΠ΅Π΅Ρ‚ простой синтаксис ΠΈ Π»Π΅Π³ΠΊΠΎ понятСн Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ бСзопасСн ΠΈ экономичСн Π² использовании. Java – это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Π½Π΅ зависящСС ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈ ΠΎΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт срСдство автоматичСской сборки мусора.

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Java ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Linux, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, доступСн Π»ΠΈ Java Development Kit (JDK) Π² систСмС ΠΈ Π΅Π³ΠΎ Π²Π΅Ρ€ΡΠΈΡŽ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ это, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

( Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Javac ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Java)

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Javac нСдоступСн Π² ΠΌΠΎΠ΅ΠΉ систСмС. Π£ нас Π΅ΡΡ‚ΡŒ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ для Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π²Ρ‹ΡˆΠ΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ default-jdk, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ это:

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, я создал Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β« testing.java Β» ΠΈ написал Π² Π½Π΅ΠΌ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

(Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ имя вашСго класса Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°)

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» testing.java Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ javac :

Π’Π΅ΠΏΠ΅Ρ€ΡŒ запуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Java, Π²Ρ‹Π·Π²Π°Π² Π΅Π΅ имя класса Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Java – это язык высокого уровня соврСмСнной эпохи, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Java Development Kit (JDK). JDK – это ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ java ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π―Π·Ρ‹ΠΊ Java ΠΈΠΌΠ΅Π΅Ρ‚ простой синтаксис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, ΠΈ это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков программирования.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Java-прилоТСния Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅.

Если Π²Ρ‹ нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ, поТалуйста, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Enter.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ jar Π² Linux

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ jar Linux

Как я ΡƒΠΆΠ΅ сказал, для запуска jar-Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π±Ρ‹Π»Π° установлСна Java-машина. Если Π²Ρ‹ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ достаточно Java Runtime Environment ΠΈΠ»ΠΈ JRE. Π§Ρ‚ΠΎ касаСтся вСрсии, Ρ‚ΠΎ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с 7 ΠΈΠ»ΠΈ 8 вСрсиСй. Если Π½ΡƒΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ восьмая, Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ прямо ΠΎΠ± этом ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Java ΠΈ Π·Π°ΠΎΠ΄Π½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° установлСна Π² вашСй систСмС, ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

Π£ мСня установлСна восьмая вСрсия, с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ 171. Если Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ java. Π’ Ubuntu OpenJDK JRE ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

sudo apt install openjdk-8-jre

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, Ρ‚ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π½Π΅ JRE, Π° JDK, Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

sudo apt install openjdk-8-jdk-headless

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Java Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… дистрибутивах, смотритС ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΠΎ ссылкС Π²Ρ‹ΡˆΠ΅. Когда Java Π±ΡƒΠ΄Π΅Ρ‚ установлСна, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‡Π΅Π½ΡŒ просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ любой jar-Ρ„Π°ΠΉΠ» Π² Linux, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² ΠΏΡƒΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Java-машинС. Π”Π°Π²Π°ΠΉΡ‚Π΅ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° создадим нСбольшоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

public class Main <
public static void main(String[] args) <
System.out.println(» Losst test app! «);
>
>

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

Π—Π°Ρ‚Π΅ΠΌ скомпилируСм нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² jar-Ρ„Π°ΠΉΠ»:

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

Если ΠΌΡ‹ Π΄Π°Π΄ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€Π°Π²ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅:

И попытаСмся Π΅Ρ‘ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

Π§Ρ‚ΠΎΠ±Ρ‹ Π΅Ρ‘ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚ jarwrapper:

sudo apt install jarwrapper

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ java Π² Linux ΠΏΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΡƒ ΠΌΡ‹ΡˆΠΈ ΠΈΠ»ΠΈ просто ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° linux

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ этой нСбольшой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ jar Linux с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ java-ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ запуска. Если Ρƒ вас ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ вопросы, ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ Π² коммСнтариях!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *