Letní akce PHP týden
Pouze tento týden sleva až 80 % na kurzy PHP. Lze kombinovat s akcí Letní slevy na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Nastavení OpenJDK v Eclipse IDE

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

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.

Stažení OpenJDK

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.

Rozbalení OpenJDK

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.

Nastavení PATH

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:

OpenJDK funguje

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"
Přidání OpenJDK do registru Windows

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:

Přidání dalších klíčů OpenJDK do registru Windows

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:

Přidání OpenJDK do Eclipse

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é.

Přidání OpenJDK do Eclipse

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

Projekt HelloWorld v Eclipse a OpenJDK

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


 

 

Článek pro vás napsal Robert Michalovič
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Programuji převážně v Javě SE,EE a trochu nativním C a CUDA. více viz.https://cz.linkedin.com/in/robert-michalovic
Předchozí článek
Změna licence Java11 JDK a OpenJDK
Všechny články v sekci
Java - Pro pokročilé
Miniatura
Následující článek
Multiplatformní spuštění Java aplikací
Aktivity (2)

 

 

Komentáře

Avatar
SolusLupusUmbra
Redaktor
Avatar
SolusLupusUmbra:12. února 11:00

Pěkné, tohle i ten předchozí jsou šité na míru

pochopil jsem správně, že pokud si nainstalují openjdk 11, tak mi projekty psané v Javě 8, budou fungovat?

 
Odpovědět 12. února 11:00
Avatar
Robert Michalovič:13. února 6:05

Ano, tak to má fungovat. Ty projekty, které jsem převedl, fungují. Ovšem tento článek je návodem pro nový projekt i když velmi podobně se dá v Eclipse změnit JRE nutné pro spuštění projektu, tedy stávající projekt převést na jinou Javu.

Neoficiálně mi kdosi říkal, že jsou všechny implementace OpenJDK pouze CTRL+C a CTRL+V zdrojáky Oracle JDK. V obou dvou by měla být identická JEP(JDK Enhancement Proposals). Z pohledu developera pouze dochází k formálnímu pojmenování, že co bude Oracle JDK 11.0.3 to bude OpenJDK12, apod.. . Prostě tzv. updaty OracleJDK budou nové verze OpenJDK. Ovšem z pohledu právní a licencí je to o něčem jiném.

Editováno 13. února 6:05
 
Odpovědět 13. února 6:05
Avatar
Lukáš Korel:2. května 13:42

Super článek, jen by mě zajímalo jestli existuje nějaká možnost rozběhat i JavaFX aplikace, mám jich pár v JFX napsaných. Nebo je JavaFX technologie poslána do binárního nebe?

 
Odpovědět 2. května 13:42
Avatar
Petr Štechmüller
Překladatel
Avatar
Odpovídá na Lukáš Korel
Petr Štechmüller:2. května 15:50

Tady je úvod do JavaFX s ruční instalací
Zprovoznění za pomoci Mavenu je tady a Gradlu tady.

Odpovědět 2. května 15:50
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.