Spouštění souborů jar: jednoduchý návod

by Corinna

Spuštění souboru jar je jednoduchý proces, který vyžaduje pouze funkční prostředí Java Runtime Environment (JRE).

Co jsou soubory JAR a jak funguje jejich spuštění

Soubor JAR (Java ARchive) je archivní formát založený na ZIP, který byl vyvinut speciálně pro Javu. Sdružuje třídy Javy, zdroje jako obrázky nebo konfigurační soubory, metadata a často také manifestový soubor (META-INF/MANIFEST.MF).

  • Na rozdíl od běžných archivů ZIP jsou soubory Jar navrženy tak, aby sdružovaly Java aplikace nebo knihovny do jednoho souboru. To výrazně zjednodušuje distribuci a používání těchto aplikací.
  • Aby bylo možné soubor Jar přímo spustit, musí obsahovat v manifestu takzvanou hlavní třídu. Tento záznam odkazuje na hlavní třídu aplikace. Pokud je k dispozici, lze soubor spustit z příkazového řádku zadáním příkazu java -jar název_souboru.jar.
  • Ne každý soubor Jar je samostatnou aplikací – mnoho z nich slouží jako knihovny, které se používají v jiných projektech.
  • Soubory Jar jsou navíc komprimované, takže jsou většinou menší než součet jejich jednotlivých souborů. Mohou být digitálně podepsány, aby byla zajištěna integrita a autentičnost obsahu. Novější verze Javy také podporují takzvané modulární nebo multi-release JAR soubory, které obsahují třídy pro různé verze Javy.

Instalace Java Runtime (JRE / JDK) ve Windows, macOS a Linuxu

Aby bylo možné spouštět soubory Jar ve vašem systému, potřebujete prostředí Java Runtime. V této kapitole se dozvíte, jak nainstalovat Java a na co si dát pozor u jednotlivých verzí.

  • K spuštění souboru Jar potřebujete alespoň prostředí Java Runtime (JRE). Dnes je většinou součástí Java Development Kit (JDK). V závislosti na aplikaci může být vyžadována určitá verze – často Java 8, 11, 17 nebo novější.
  • Zvláště doporučujeme verze s dlouhodobou podporou (LTS), jako je Java 11 nebo Java 17, protože jsou udržovány po mnoho let. Ujistěte se, že verze Java odpovídá vaší aplikaci, protože starší programy mohou být s novějšími verzemi částečně nekompatibilní.
  • Instalace ve Windows: Stáhněte si aktuální verzi Java z oficiálních webových stránek Oracle nebo z distribuce OpenJDK (např. Azul Zulu nebo Eclipse Temurin). Vyberte instalační soubor vhodný pro váš systém (většinou 64bitový) a spusťte instalační program.
  • Po instalaci může být nutné přidat složku „bin“ instalace Java do proměnné prostředí PATH. Poté otevřete příkazový řádek a pomocí příkazu java –version zkontrolujte, zda bylo Java nainstalováno správně.
  • Instalace v systému macOS: Stáhněte si instalační soubor (DMG nebo PKG) z webu Oracle nebo OpenJDK a postupujte podle pokynů instalačního průvodce. Volitelně můžete nastavit proměnné prostředí Java pomocí příkazů export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/bin:$PATH ve vašem shellu (např. zsh).
  • V systému macOS lze Java pohodlně nainstalovat také pomocí Homebrew zadáním následujícího příkazu do terminálu: brew install java
  • Instalace v systému Linux (např. Ubuntu nebo Debian): Mnoho distribucí Linuxu již nabízí Java ve svých zdrojích balíčků. Pomocí příkazu java –version zkontrolujte, zda je Java nainstalována. Pokud ne, můžete nainstalovat aktuální runtime prostředí například pomocí příkazu sudo apt install openjdk-17-jre. Alternativně lze JDK také ručně stáhnout a nainstalovat z webových stránek OpenJDK.

    Bezpečnost a vyhledávání chyb při spouštění souborů JAR

    Soubory JAR jsou praktické, ale také s sebou nesou určitá rizika. Níže se dozvíte, jak bezpečně spouštět soubory JAR a co dělat v případě chybových hlášení nebo problémů.

    • Bezpečnostní pokyny: Spouštějte soubory Jar pouze z důvěryhodných zdrojů. Soubory z neznámých nebo nezabezpečených zdrojů mohou obsahovat škodlivý kód, který ohrožuje váš systém. Seriozní vývojáři obvykle poskytují kontrolní součty nebo digitální podpisy, pomocí kterých lze ověřit pravost souboru Jar.
    • Pokud chcete soubor Jar podrobněji prozkoumat, můžete jej otevřít nebo rozbalit pomocí běžných programů pro práci se soubory ZIP. K odhalení známých bezpečnostních mezer v obsažených knihovnách pomáhají také speciální nástroje, jako je „OWASP Dependency-Check“. Pro maximální bezpečnost se doporučuje nejprve otestovat neznámé soubory Jar ve virtuálním stroji nebo izolovaném prostředí.
    • Odstraňování chyb (troubleshooting): Pokud se soubor Jar nespustí, má to většinou jasný důvod. Nejčastější příčiny jsou:
    • Chybějící záznam hlavní třídy: V tomto případě se často zobrazí hlášení „no main manifest attribute“. Manifest je pak nutné ručně upravit nebo soubor JAR znovu vytvořit.
    • Chybějící závislosti: Pokud se při spuštění objeví „ClassNotFoundException“ nebo „NoClassDefFoundError“, často chybí další knihovny. Ty je nutné přidat do cesty třídy nebo správně integrovat.
    • Nekompatibilní verze Java: Aplikace zkompilovaná v Javě 17 nemusí fungovat v Javě 8. Zkontrolujte, kterou verzi aplikace vyžaduje, a upravte podle toho její běhové prostředí.
    • Chyba v manifestu: Obsah manifestu lze zobrazit příkazem jar xf název_souboru.jar META-INF/MANIFEST.MF

      a následně cat META-INF/MANIFEST.MF . Měly by tam být záznamy jako „Main-Class“ a „Class-Path“.

    • Čtěte pečlivě chybové zprávy – většinou obsahují cenné informace o chybějících souborech nebo nesprávných cestách.

    Praktické příklady a užitečné nástroje

    Na závěr zde najdete několik praktických příkladů a nástrojů, které vám usnadní každodenní práci s jar soubory.

    • Příklad spuštění aplikace: Pokud se váš soubor jmenuje „mojeApp.jar“ a obsahuje spustitelnou hlavní třídu, spusťte jej příkazem java -jar mojeApp.jar
    • Pokud jsou potřebné další knihovny, které se nacházejí v podsložce „lib“, lze aplikaci spustit pomocí cesty ke třídě, například takto: java -cp „mojeApp.jar:lib/*“ com.příklad.hlavní třída
    • Otevření nebo rozbalení souborů Jar: Protože soubory Jar jsou kompatibilní se ZIP, lze je rozbalit pomocí běžných programů, jako jsou 7-Zip, WinRAR, nebo pomocí příkazového řádku. V systému Linux nebo macOS to funguje například pomocí unzip název_souboru.jar -d cílový_adresář nebo pro zobrazení pouze obsahu pomocí jar tf název_souboru.jar
    • Analytické a bezpečnostní nástroje: K bezpečnostní kontrole můžete použít nástroje jako „OWASP Dependency-Check“. Tyto nástroje umožňují analyzovat závislosti v rámci souboru Jar a odhalit známé slabiny.
    • Typické případy použití: Soubory Jar se používají v mnoha oblastech – od desktopových programů přes knihovny až po serverové nebo cloudové aplikace. Jsou obzvláště praktické, pokud chcete kompaktně distribuovat aplikaci Java nebo sdružit více modulů do jednoho souboru.
     

    Related Articles

    Leave a Comment