Nastavení OpenJDK v Eclipse IDE
V předchozím kvízu, Kvíz - Kompilace v Javě, jsme si ověřili nabyté zkušenosti z kurzu.
V článku Změna licence Java11 SDK a OpenJDK jsme si probrali podmínky licence Oracle JDK. Pokud vám dané podmínky nevyhovují, lze přejít s vývojem pod různé implementace OpenJDK, o kterých jsme si v minulém článku řekli a dali si k nim i odkazy.
V tomto tutoriálu si vybereme primární implementaci OpenJDK přímo od Oracle. Ostatní implementace OpenJDK jsou totožné, ale zbuildované pod jinými distribucemi (případně byly provedeny změny v rámci GPLv2, např. jiný JVM apod.). Všechny musí dodržovat primární licenční podmínky GPLv2 (GPLv2 = GNU General Public License, version 2). Zde jsou uvedeny licenční podmínky k OpenJDK GPLv2 od Oracle. Doporučuji si je pořádně přečíst, i když jsou ještě z roku 1991 a terminologie je trochu zastaralá (např. vůbec nepočítají s distribucí přes internet, apod.). Nejzásadnější a nejdůležitější body licence jsou 1, 2 a 3.
- Zde je specifikováno za jakých podmínek lze program bez obav šířit a v bodě 1 je ukotveno právo na poplatek za šíření fyzické kopie a právo na poplatek za záruční ochranu (technickou podporu).
- Bod 2 popisuje za jakých podmínek lze zasahovat do programů (myšleno do OpenJDK, neplést si to s vámi vyvinutými aplikacemi na nich běžícími) a ty pak dále šířit.
- Bod 3 popisuje za jakých podmínek můžete distribuovat OpenJDK (program) a nebo vaši aplikaci (dílo na něm založené). Doslovný český překlad se nachází zde .
Nyní si předvedeme jak taková instalace či případně přechod vypadá. Je to skutečně triviální. Tutoriál je rozdělen na dvě části, kdy první část je o propojení alternativní OpenJDK s OS a druhá část nastavení v IDE (v tomto případě v Eclipse).
Z celého seznamu alternativ si vybereme OpenJDK pod Oracle. Pokud byste si vybrali jiné implementace OpenJDK, např. AdoptOpenJDK, Zulu, tak postup je samozřejmě identický. Ovšem jak to bude s jinými IDE, např. NetBeans nebo IntelliJ IDEA, to už si musíte zjistit sami, protože je nepoužívám. Předpokládám ale, že to bude stejně jednoduché jako v Eclipse.
Nastavení OpenJDK od Oracle
Pozn.: Počítám, že OS je čistě nainstalovaný, příp. všechny Javy (JDK) byly odstraněny a to včetně dalšího souvisejícího softwaru.
OpenJDK od Oracle se nestahuje ve formě instalátoru, ale ve formě *.zip souboru u Windows a tar.gz pro Linux či MacOS. Zajisté jste si všimli, že již nejsou k dispozici 32bit verze. Jen připomínám, že po 03/2019 tam již bude OpenJDK12, po 09/2019 OpenJDK13, po 03/2020 OpenJDK14 atd.

Daný soubor (64bit OpenJDK) postačí stáhnout, rozbalit a umístit do
vámi zvoleného adresáře. Já například si OpenJDK nahraji do rootu na disk
D a adresář pojmenuji OpenJDK11/
. Vše rozbalené nakopíruji
tedy do D:\OpenJDK11\
. Mělo by to mít velikost něco pod 300
MB.

Jak vidíte, problémem je opět to, že přístup k programům v JDK přes
příkazový řádek máme pouze v adresáři JDK\bin
. Proto
provedeme nastavení systémové proměnné PATH
v našem OS. Poté
počítač restartujeme.

Po restartu počítače nám již spuštění programů v JDK bude fungovat. Jak vidíte, lze spustit přes příkazový řádek samospustitelný (runnable) *.jar:

To nám stále ke štěstí nestačí. Pokud chceme spouštět Java programy (*.jar) přes dvojklik např. z plochy nebo z různých souborových manažerů (Průzkumník ve Windows, Total Commander, Unreal Commander, apod.) je nutné provést další nastavení OS. Vytvoříme celkem dva klíče v registrech Windows (programem regedit):
První klíč bude následující:
[HKEY_CLASSES_ROOT\.jar] @="jarfile"

Druhý klíč bude vypadat takto:
[HKEY_CLASSES_ROOT\jarfile] [HKEY_CLASSES_ROOT\jarfile\DefaultIcon] [HKEY_CLASSES_ROOT\jarfile\shell] [HKEY_CLASSES_ROOT\jarfile\shell\open] [HKEY_CLASSES_ROOT\jarfile\shell\open\command] @="\"D:\\OpenJDK11\\bin\\javaw.exe\" -jar \"%1\""
Výsledná podoba této části registru v programu regedit:

Opět restartujeme počítač.
Po restartu počítače půjdou spustit všechny samospustitelné (runnable) *.jar projekty standardním dvojklikem. Nebudou fungovat pouze projekty JavaFX (vytvořené s Java10, 9, 8, 7), neboť všechny JavaFX knihovny byly z JDK/JRE od verze 11 odstraněny.
Přidat dané klíče můžete manuálně přes regedit, nebo můžete vytvořit textové soubory s koncovkou *.reg a ty spustit, tato technika dané klíče vytvoří.
Nastavení OpenJDK v Eclipse IDE
Nyní zbývá OpenJDK již jen nastavit v IDE Eclipse. Eclipse IDE stáhneme
na https://www.eclipse.org/ide/.
Pokud jste rozbalili OpenJDK a nastavili systémovou proměnnou
PATH
, pak by se Eclipse mělo spustit. Po spuštění si vybereme
adresář pro projekty, tvz. Workbench. Nyní tedy nastavíme OpenJDK v Eclipse.
V aplikačním menu zvolíme Window -> Preference a objeví se nám dialog. V
tomto dialogu je strom, ve kterém si vybereme Java - Installer JREs. Zde je k
dispozici seznam vašich JDK či JRE. Vy tam budete mít prázdno, ale u mě
vidíte Java8, 9, 10 i 11. Lze jich tam mít spousty:

Zvolíme ADD -> Standard VM a objeví se nový dialog. Klikneme na Directory a vybereme adresář, kam jsme uložili OpenJDK. Po potvrzení adresáře (Select Folder) se vše doplní samo a my stiskneme FINISH. A OpenJDK máme v Eclipse nastavené.

Pokud si chcete vytvořit testovací projekt typu HelloWorld, tak pouze nezapomeňte při tvorbě projektu zvolit vámi nastavené OpenJDK.

A nyní již můžete vesele vyvíjet pod GPLv2 s OpenJDK.