Изпълнение на jar файлове: Прости инструкции

by Tobias

Изпълнението на jar файл е лесен процес, който изисква само функционираща Java-Runtime Environment (JRE).

Какво са JAR файловете и как се изпълняват

JAR файлът (Java ARchive) е архив, базиран на ZIP, специално разработен за Java. Той обединява Java класове, ресурси като изображения или конфигурационни файлове, метаданни, както и често манифест файл (META-INF/MANIFEST.MF).

  • За разлика от традиционните ZIP архиви, Jar файловете са проектирани така, че да обединяват Java приложения или библиотеки в един-единствен файл. Това значително улеснява разпространението и използването на такива приложения.
  • За да може Jar файлът да се стартира директно, той трябва да съдържа така наречения Main-Class в манифеста. Този запис сочи към основния клас на приложението. Ако той е налице, файлът може да се стартира от командния ред, като се въведе командата java -jar име_на_файла.jar .
  • Не всеки Jar-файл е самостоятелно приложение – много от тях служат като библиотеки, които се използват в други проекти.
  • Jar-файловете са компресирани, което ги прави по-малки от сумата на отделните файлове. Те могат да бъдат цифрово подписани, за да се гарантира целостта и автентичността на съдържанието. По-новите версии на Java поддържат и т.нар. модулни или мулти-релийз JAR файлове, които съдържат класове за различни версии на Java.

Инсталиране на Java Runtime (JRE / JDK) под Windows, macOS и Linux

За да можете да изпълнявате Jar файлове на вашата система, се нуждаете от Java Runtime Environment. В тази глава ще научите как да инсталирате Java и на какво да обърнете внимание при различните версии.

  • За да стартирате Jar файл, се нуждаете от поне една Java Runtime среда (JRE). Днес тя обикновено е включена в Java Development Kit (JDK). В зависимост от приложението може да е необходима определена версия – често Java 8, 11, 17 или по-нова.
  • Особено се препоръчват версии с дългосрочна поддръжка (LTS) като Java 11 или Java 17, тъй като те се поддържат в продължение на много години. Уверете се, че версията на Java е подходяща за вашето приложение, тъй като по-старите програми могат да бъдат несъвместими с по-новите версии.
  • Инсталиране под Windows: Изтеглете актуалната версия на Java от официалния уебсайт на Oracle или от дистрибуция на OpenJDK (например Azul Zulu или Eclipse Temurin). Изберете подходящия инсталационен файл за вашата система (обикновено 64-битов) и стартирайте инсталатора.
  • След инсталирането може да се наложи да добавите папката „bin“ на Java инсталацията в системната променлива PATH. След това отворете командния ред и проверете с командата java –version, дали Java е инсталирана правилно.
  • Инсталиране под macOS: Изтеглете инсталационния файл (DMG или PKG) от Oracle или от страницата на OpenJDK и следвайте инструкциите на инсталационния асистент. Опционално можете да зададете променливите на средата на Java с командите export JAVA_HOME=$(/usr/libexec/java_home) и export PATH=$JAVA_HOME/bin:$PATH в вашата Shell (напр. zsh).
  • В macOS Java може да се инсталира лесно и чрез Homebrew, като въведете в терминала: brew install java
  • Инсталиране в Linux (например Ubuntu или Debian): Много Linux дистрибуции вече предлагат Java в своите пакетни източници. Проверете с java –version, дали Java е инсталиран. Ако не е, можете да инсталирате актуална среда за изпълнение, например с sudo apt install openjdk-17-jre . Алтернативно, JDK може да се изтегли и инсталира ръчно от уебсайта на OpenJDK.

    Сигурност и отстраняване на грешки при изпълнение на JAR файлове

    JAR файловете са практични, но крият и определени рискове. По-долу ще научите как да изпълнявате JAR файлове безопасно и какво да направите в случай на съобщения за грешки или проблеми.

    • Съвети за сигурност: Изпълнявайте JAR файлове само от надеждни източници. Файлове от неизвестни или несигурни източници могат да съдържат злонамерен код, който да застраши вашата система. Реномираните разработчици обикновено предоставят контролни суми или цифрови подписи, с които може да се провери автентичността на JAR файла.
    • Ако искате да разгледате по-подробно Jar файл, можете да го отворите или разархивирате с помощта на обичайните ZIP програми. Специални инструменти като „OWASP Dependency-Check“ също помагат за откриването на известни пропуски в сигурността на съдържащите се библиотеки. За максимална сигурност се препоръчва първо да тествате неизвестни Jar файлове във виртуална машина или изолирана среда.
    • Отстраняване на грешки (Troubleshooting): Ако Jar файлът не стартира, обикновено има ясна причина за това. Най-честите причини са:
    • Липсващ запис в Main-Class: В този случай често се появява съобщението „no main manifest attribute“. Манифестът трябва да бъде коригиран ръчно или JAR файлът да бъде създаден наново.
    • Липсващи зависимости: Ако при стартиране се появи „ClassNotFoundException“ или „NoClassDefFoundError“, често липсват допълнителни библиотеки. Те трябва да бъдат добавени в пътя на класа или да бъдат правилно интегрирани.
    • Несъвместима версия на Java: Приложение, компилирано с Java 17, може да не работи под Java 8. Проверете коя версия е необходима за приложението и коригирайте съответно времето за изпълнение.
    • Грешка в манифеста: Съдържанието на манифеста може да бъде прегледано с командата jar xf име_на_файл.jar META-INF/MANIFEST.MF

      и след това cat META-INF/MANIFEST.MF . Там трябва да има записи като „Main-Class” и „Class-Path”.

    • Прочетете внимателно съобщенията за грешки – те обикновено съдържат ценна информация за липсващи файлове или неправилни пътища.

    Практически примери и полезни инструменти

    Накрая ще намерите тук няколко практически примера и инструменти, които ще ви улеснят ежедневната работа с Jar-файлове.

    • Пример за стартиране на приложение: Ако файлът ви се нарича „meineApp.jar“ и съдържа изпълним Main-Class, стартирайте го с командата java -jar meineApp.jar
    • Ако са необходими допълнителни библиотеки, които се намират в подпапка „lib“, приложението може да се стартира с пътя на класа, например така: java -cp „moеApp.jar:lib/*“ com.пример.главна класа
    • Отваряне или разархивиране на Jar файлове: Тъй като Jar файловете са ZIP-съвместими, те могат да бъдат разархивирани с помощта на популярни програми като 7-Zip, WinRAR или чрез командния ред. В Linux или macOS това става например с unzip dateiname.jar -d zielordner или за да се покаже само съдържанието с jar tf dateiname.jar
    • Инструменти за анализ и сигурност: За проверка на сигурността можете да използвате инструменти като „OWASP Dependency-Check“. С тях можете да анализирате зависимостите в един Jar файл и да откриете известни слаби места.
    • Типични примери за употреба: Jar файловете се използват в много области – от десктоп програми през библиотеки до сървърни или облачни приложения. Те са особено практични, ако искате да разпространите компактно Java приложение или да обедините няколко модула в един файл.
     

    Related Articles

    Leave a Comment