Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: [solved]Rozchození JavaFX 1.3 na x86-64 ubuntu  (Přečteno 1249 krát)

boonn

  • Aktivní člen
  • *
  • Příspěvků: 296
  • Urgulak the Great
[solved]Rozchození JavaFX 1.3 na x86-64 ubuntu
« kdy: 09 Července 2016, 19:36:23 »
*pozn. po vyřešení - upraven nadpis aby více vystihoval jádro problému
- velké díky JV za vyřešení viz níže

Zdravím,
cvičení v této volně šiřitelné java učebnici jsou v javaFX http://www.java.cz/article/ucebnicejazykajava.

Myslíte, že je nějaká šance je na ubuntu zobrazit?

Zkoušel jsem open jdk s nainstalovaným balíkem openjfx a icetea pluginem ve FF a teď oracláckou 8, s pluginem ve FF a pořád nemohu zobrazit zadání. Zkusil jsem chmodnout všechny soubory učebnice jako 775 a nic víc už mě nenapadá, než že to není možné rozchodit.

Předem díky za odpovědi.

-PS: po vyřešení
« Poslední změna: 10 Července 2016, 01:47:03 od boonn »
The only good is knowledge and the only evil is ignorance.
   ~ Socrates
 Use linux flarerpg.org - great open source game

Jakub Vaněk

  • Stálý člen
  • **
  • Příspěvků: 752
    • Web programátora a studenta Jakuba Vaňka
Re:Jde zobrazit html stránku s JavaFX na ubnt?
« Odpověď #1 kdy: 09 Července 2016, 21:23:34 »
[neproduktivní nadávání]
Na 64bitovém novém systému ne, protože na novém software je ta učebnice totální [radši nic] a stará JavaFX není zkompilovaná pro x86_64 Linux, což je [radši nic].
[/neproduktivní nadávání]
V prohlížeči jsem to nezkoušel. Zkoušel jsem "desktopovou verzi" programu coSeVytiskne. Zkoumal jsem, co to je zač. Fajn. Webová aplikace. Zkusím otevřít jarko, nejde to (protože jsem blbej), pak už to otvírám přes javaws, nejde to, vyhazuji dependenci na JavaFX 1.3, kvůli které to padá, nejde to, přidávám složku do výjimek, nejde to, přidávám do výjimek přímo to jarko a konečně někde jsme. Chce to konkrétně JavaFX 1.3, která ale už je zastaralá. No co, postahuju to, dám to do classpathu ale už teď něco nehraje: javafx-rt-linux-i586__V1.3.1_b101.jar. Mám x86_64, takže tuším, že to nepůjde. No, nejde, ale zkouším to jinak. Dostávám se k tomuhle příkazu:
Kód: [Vybrat]
java -classpath '/tmp/UcebniceJazykaJava/cviceni/javafx/javafx-rt-linux-i586__V1.3.1_b101.jar:/tmp/UcebniceJazykaJava/cviceni/javafx/javafx-rt-natives-linux-i586__V1.3.1_b101.jar:/tmp/UcebniceJazykaJava/cviceni/javafx/javafx-rt-lazy-linux-i586__V1.3.1_b101.jar:/tmp/UcebniceJazykaJava/cviceni/javafx/javafx-rt-fonts-linux-i586__V1.3.1_b101.jar:./coSeVytiskne.jar' com.sun.javafx.runtime.Main cosevytiskne.Mainnacházím tento:
Kód: [Vybrat]
java -cp "/tmp/UcebniceJazykaJava/cviceni/javafx/javafx-rt-linux-i586__V1.3.1_b101.jar:./coSeVytiskne.jar" -Djava.library.path="/tmp/UcebniceJazykaJava/cviceni/javafx/" com.sun.javafx.runtime.main.Main MainJavaFXScript=cosevytiskne.Maina obojí vrátí tohle:
Kód: [Vybrat]
java.lang.NoSuchMethodError: javafx.scene.Parent.<init>(Z)V
at javafx.scene.CustomNode.<init>(Unknown Source)
at cosevytiskne.coSeVytiskne.<init>(coSeVytiskne.fx)
at cosevytiskne.Main$Main$Script.applyDefaults$(Main.fx:16)
at cosevytiskne.Main.javafx$run$(Main.fx)
Pak začínám psát tohle. Zkouším stáhnout JavaFX 1.3.1 SDK a použít to (/tmp/javafx-sdk1.3/bin/javafx -cp /tmp/UcebniceJazykaJava/cviceni/coSeVytiskne/coSeVytiskne.jar cosevytiskne.Main), ale taky to nejde. Pak nacházím, že to <init>(Z)V je signatura JNI (Java Native Interface), takže se potvrdilo podezření na špatnou architekturu.
Notebook: Lenovo Thinkpad X200, Xubuntu 16.04

Jakub Vaněk

  • Stálý člen
  • **
  • Příspěvků: 752
    • Web programátora a studenta Jakuba Vaňka
Re:Jde zobrazit html stránku s JavaFX na ubnt?
« Odpověď #2 kdy: 09 Července 2016, 21:27:20 »
Možná uspěješ s 32bit Oracle JVM, já nemám náladu to instalovat.
BTW tohle mi připomnělo http://www.hovnokod.cz/763 :D
EDIT: neber to jako naštvání na tebe, to je naštvání spíš na Sun a Oracle ;)
« Poslední změna: 09 Července 2016, 21:33:33 od Jakub Vaněk »
Notebook: Lenovo Thinkpad X200, Xubuntu 16.04

boonn

  • Aktivní člen
  • *
  • Příspěvků: 296
  • Urgulak the Great
Re:Jde zobrazit html stránku s JavaFX na ubnt?
« Odpověď #3 kdy: 09 Července 2016, 22:06:30 »
Ok, díky tak daleko jsem nedošel, ale tušil že to tím mohlo být  - potvrdil jsi mi to - napíšu autorovi aby to překompiloval, a prozatimně si napíšu provizorní něco, co mi bude tahat zadání těch cvičení z těch xhtml. Použítí JavaFX pro načítání pár řádek zadání a odpovědí mi přijde zbytečné, ale autor - btw profesor fakultu inf. tech. to asi napsal takle složitě jako "ukázku" co se s tím nechá dělat.

ps: i když jsem to sem nepsal, tak já jsem zas kvůli tomu přešel z 14.04 na xeniala, /bránil jsem se kvůli systemDčku/, protože jsem chtěl mít open javu a balík openjfx je funkční až v xenialu. I když vím, že by to asi šlo zkompilovat a rozchodit ... no abych to shrnul, nejsem expert, ale systemD pfff
« Poslední změna: 09 Července 2016, 22:13:34 od boonn »
The only good is knowledge and the only evil is ignorance.
   ~ Socrates
 Use linux flarerpg.org - great open source game

Jakub Vaněk

  • Stálý člen
  • **
  • Příspěvků: 752
    • Web programátora a studenta Jakuba Vaňka
Re:[solved]Jde zobrazit html stránku s JavaFX na ubnt?
« Odpověď #4 kdy: 09 Července 2016, 23:23:15 »
Dokázal jsem se uklidnit a nějak to zprovoznit :D
Tohle mi fungovalo:
1) je potřeba si ze stránek Oracle stáhnout JRE 6.0, verze Linux x86 (jre-6u45-linux-i586.bin). Bohužel je potřeba účet u Oracle...
Ten soubor někam ulož. Pak mu dej spustitelný příznak (chmod +x jre-6u45-linux-i586.bin) a spusť ho. To rozbalí JRE do složky se souborem.
2) stáhni si JavaFX 1.3.1 SDK. Ten stáhni také tam někam a rozbal ho.
3) Dál to bude v terminálu. Je potřeba nastavit proměnnou PATH a JAVA_HOME:
Kód: [Vybrat]
export PATH="/kde/je/rozbalené/JavaFX/SDK/javafx-sdk1.3/bin:/kde/je/rozbalené/JRE/jre1.6.0_45/bin:$PATH"
export JAVA_HOME="/kde/je/rozbalené/JRE/jre1.6.0_45"
Pak u mě bylo potřeba doinstalovat chybějící 32bitovou knihovnu:
Kód: [Vybrat]
sudo apt-get install libxtst6:i386Dále už stačí jen prozkoumat a spustit dané cvičení. Je potřeba otevřít .jar soubor a zjistit balík hlavní třídy. Ten balík má obvykle název stejný jako cvičení, ale může mít jinak velká písmena. Také je třeba zjistit XML soubor cvičení, ten bude ve stejném balíku jako hlavní třída.
Pak už by nic nemělo bránit spuštění:
Kód: [Vybrat]
javafx -cp </cesta/k/jarku/ve/cvičení.jar> <balík.hlavní.třídy.Main> zdrojXML=<názevsouboru.xml>Příklad:
Kód: [Vybrat]
javafx -classpath /tmp/UcebniceJazykaJava/cviceni/coSeVytiskne/coSeVytiskne.jar cosevytiskne.Main zdrojXML=coSeVytiskne1.xmlVýsledek je v příloze.
Notebook: Lenovo Thinkpad X200, Xubuntu 16.04

 

Provoz zaštiťuje spolek OpenAlt.