Diskuze: Instalace JRE a JDK
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Podle mě máš rozmrdaný OS různými Javami. Pokud zkompiluješ něco Java10 a chceš to spustit na Java8 tak to nefunguje. Ověř si pořádně jakou Javu používá NetBeans, jakou javu máš nastavenou v příkazovém řádku.(příkaz java -version ). Podívej se do ovládacích panelů jaká Java je tam. Všechno by měla být 1 identická verze. Ještě nejsi dostatečně znalý, jak mít více verzí na jednom OS.
Mimochodem Java11,10 ještě v NetBeans není podporovaná, Java9,8 je nutno použít tento Netbeans http://netbeans.apache.org/…d/index.html.
Nebo přejdi na jiné IDE či doporučuji používej pouze Java8 protože ta 9tka není ve všech IDE stále plně implementovaná( nepodporují run-time image, export *.jmod, přidávání *.jmod do classpath atd,, )
dík za zprávu a info
celou dobu používám 1.8 (9,10 ani 11 se mi nepodařilo přidat, takže je určitě nepoužívám - nemůžu si je přidat v prostředí NetBeans (respektive jsou prázdné, bez odkazu a obsahu), takže si je potom nemůžu ani zvolit, přidal jsem si je včera v posledním zoufalství a už je mám zase odinstalované)
včera jsem dokonce odinstaloval komplet všechno spojené s Javou (všechny
nainstalované Javy, NetBeans, Eclipse, SceneBuilder apod.)
v příkazovém řádku v DOSu (cmd, java -version) mám 1.8, v NetBeans mám na
výběr také pouze 1.8)
Spíš myslím, že v NetBeans mi někde chybí donastavit ta 1.8.
Spojitost s operačním systémem to hádám nemá (mám 64bitový).
Ale našel jsem zajímavou odlišnost:
dělám programy v JavaFX - tam to háže právě tu hlášku s "No base JDK",
stejně tak jsem si stáhl z itnetwork hru Bunny (velikonoční zajíc), která
je také v JavaFX - a taky to hlásí "No base JDK". Když jsem si ale pustil
hru AutoHra (Java Swing), která je taktéž z itnetwork, tak to žádný
problém nehází.
Takže si říkám, že problém souvisí s JavaFX
A v souvislosti s tím jsem našel toto:
https://stackoverflow.com/…the-base-jdk
zkusil jsem to v nástrojích NetBeans platform v Sources, ale nepodařilo se (nastavil jsem tam několik cest - odkazů na tu samou složku JavaJDK)
no, a tyhle věci mi nefungují, to je asi jen pro ty, co vytvářejí grafiku v editoru
<fx:platform basedir="${java.home}"/>
<fx:platform basedir="c:\tools\jdk7"/>
toto se mi zobrazuje při kompilaci:
Detected JavaFX Ant API version 1.3
Launching <fx:jar> task from C:\Program
Files\JavaJDK\jdk1.8.0_181\lib\ant-javafx.jar
Warning: From JDK7u25 the Codebase manifest attribute should be used to restrict
JAR repurposing.
Please set manifest.custom.codebase property to override the current default
non-secure value '*'.
Launching <fx:deploy> task from C:\Program
Files\JavaJDK\jdk1.8.0_181\lib\ant-javafx.jar
No base JDK. Package will use system JRE.
No base JDK. Package will use system JRE.
jfx-deployment-script:
jfx-deployment:
jar:
NetBeans nepoužívám. Dle mě to máš špatně nastavené(rozdrbané), možná si špatně nastavil nějaké systémové proměnné JAVA_HOME,JRE_JDK,PATH či něco v NetBeans. Zkus je odstranit nebo zkontrolovat. JAVA_HOME a JRE_HOME pokud nepoužíváš JavaEE, tak vůbec neměj.
Podle popisu chyby se domnívám že JDK(C:\Program Files\JavaJDK\jdk1.8.0_181\) nemá přístup k JRE(C:\Program Files\JavaJDK\jdk1.8.0_181\jre) v JDK a používá čistě JRE(C:\Program Files\JavaJRE\jre1.8.0_181\) . Když spustíš *.jar double-clickem s plochy má se ti spustit JVM z JRE. Pokud to spoustíš přes IDE pak používáš JVM z JDK. Takže takto zjistíš jestli je problém v JRE nebo JDK. nebo v obojích. Mimochodem může být bug i Java 8_181, zkus starší verzi 171,161.
Pokud jsem tvé aktuální nastavení pochopil tak to by u tebe mělo být
nastaveno takto:
JAVA_HOME = C:\Program Files\JavaJDK\jdk1.8.0_181\
PATH = C:\Program Files\JavaJDK\jdk1.8.0_181\bin
JRE_HOME = C:\Program Files\JavaJRE\jre1.8.0_181\
<fx:platform basedir="${java.home}"/>
<fx:platform basedir="C:\Program Files\JavaJDK\jdk1.8.0_181"/>
PS. Přinejhorším prostě to z formátuj a naistaluj OS a IDE celé
znova.
PSS. nepoužívej to moje C:\Program Files\JavaJDK\ ale měj to takto C:\Program
Files\jdk1.8.0_181 to pro tebe bude nejvhodnější jak je to standardní.
Díky Roberte
Nejspíš něco dělám špatně.
U JRE udáváš cestu ...jre1.8.0_181\
já ale u JRE, kterou jsem si stáhl, žádnou takovou podsložku nemám
("jre1.8.0_181\")
Stáhl jsem to klasicky z: https://www.oracle.com/…e/downloads/
Zkusím ještě stáhnout tu verzi 1.7 a pro jistotu nainstaluju i do Program
Files(x86)
vše jsem udělal, něco přenastavil, vše přeinstaloval, problém jsem sice nevyřešil, ale alespoň jsem si v tom udělal pořádek a něco se zase přiučil
ale už jsem na přišel - opravdu mi chybí nastavení v NetBeans ID - Tools - NetBeans Platform Manager - záložka "Sources"
dokonce jsem si to stáhl a nastavil, ale nic to nedělá, tak jsem hledal na
NetBeans stránkách, už to tam někdo řešil v roce 2015, maník z NetBeans
řekl, že je vše OK a že to není chyba, tak to nebudu už dál řešit
Díky Roberte
Včera jsem na to zapomněl a hlavně jsem zápasil se strašným úkazem.
Zkusil jsem přepnout v NetBeans na 1.7 - něco to před přepnutím hlásilo,
ale já v takových případech hlášky nečtu a automaticky enteruju - a i když jsem vzápětí
přepnul zpět na 1.8, tak už mi to pořád hlásilo, že 1.7 nepodporuje
lambda funkce a nemohl jsem už program zkompilovat (ještě, že mám zálohu).
Těch lambda funkcí tam mám hafo a i kdybych to přepsal na nižší verzi,
tak tím problém nevyřeším, protože to zombi nastavení tam stejně
zůstane. Abych se ale vrátil k tématu:
Dnes ráno jsem si vzpomněl a zkusil spustit .jar soubor. Zmizel problém s
nevystředěním a prográmek šlo bez problémů ukončit. Takže vinou jsou
bezpochyby špatně nastavené jdk/jre. Tj. JRE.
A já ti moc děkuji.
Zobrazeno 9 zpráv z 9.