Tak jsem odzkousel (zatim ve virtualu) minimalni instalaci Debianu a Xorg.
Mam uzivatele "
config", ktery ma na konci
~/.bashrcstartx
exita v
~/.xsession#!/bin/bash
java -jar mojeapp.jarSystem nabehne normalne do textoveho rezimu. Kdyz se prihlasi uzivatel
config, nastartuje X server a jedna aplikace v Jave. Zadna dekorace oken, proste nic. Jakmile uzivatel aplikaci zavre, automaticky se odhlasi. Jednoduche a funkci, jsem spokojeny.
Mam ale dotaz ohledne Javy. Rad bych napsal GUI v Java FX, protoze ve Swingu uz imho nema moc vyznam psat nove programy.
Jak je to s Javou FX na linuxu? Pokud jsem dobre googlil (a zkousel), tak OpenJDK 7 neumi Java FX aplikace spustit. OpenJDK 8 jeste neni v distribucich a ani jsem ji nezkousel.
Nejlepsi by bylo pouzit original Oracle Javu. Jenze v jejich
licenci jsem nasel:
CitaceA. COMMERCIAL FEATURES. You may not use the Commercial Features for running Programs, Java applets or applications in your internal business operations or for any commercial or production purpose, or for any purpose other than as set forth in Sections B, C, D and E of these Supplemental Terms. If You want to use the Commercial Features for any purpose other than as permitted in this Agreement, You must obtain a separate license from Oracle.
To bude asi trochu problem, ja bych rad tu krabicku s aplikaci prodaval...
Zkousel jsem v Eclipse s Oracle javou 7 vygenerovat jar, je v nem 15MB velka knihovna
jfxrt.jar, ale kdyz vysledne jarko spustim pod openjdk7, nejde to. A navic zahrnuta Oracle knihovna by muj problem nevyresila. Asi by bylo nutne pouzit OpenJDK8.
martin@martin:/tmp$ /usr/lib/jvm/java-7-oracle/bin/java -jar jfx.jar
martin@martin:/tmp$ /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -jar jfx.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Invalid URL for class: jar:rsrc:jfxrt.jar!/com/sun/glass/utils/NativeLibLoader.class
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:284)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:127)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:163)
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:47)
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:115)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.UnsatisfiedLinkError: Invalid URL for class: jar:rsrc:jfxrt.jar!/com/sun/glass/utils/NativeLibLoader.class
at com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoader.java:145)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:88)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:31)
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:74)
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:81)
at com.sun.glass.ui.gtk.GtkPlatformFactory$1.run(GtkPlatformFactory.java:28)
at com.sun.glass.ui.gtk.GtkPlatformFactory$1.run(GtkPlatformFactory.java:25)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.glass.ui.gtk.GtkPlatformFactory.<clinit>(GtkPlatformFactory.java:25)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at com.sun.glass.ui.PlatformFactory.getPlatformFactory(PlatformFactory.java:20)
at com.sun.glass.ui.Application.Run(Application.java:104)
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:274)
... 5 more
martin@martin:/tmp$Na notebooku pro vyvoj pouzivam
instalator od webupd8.org. Je i verze primo pro Debian. Podle
obsahu balicku, by se mela na ARM stahnout ARM verze.
Jenze pri instalaci balicku je nutne odsouhlasit Oracle licenci k Jave. Ale ja bych potreboval Javu mit predinstalovanou.
Jak nejlepe problem s Javou vyresit?
- Dat tam Oracle Java 8, ale co s licenci? Pujde to prodavat?
- Zkusit OpenJDK 8.
- Napsat to ve starem Swingu.
A nereste prosim vhodnost Javy. Vsechno v ni pisu, mam ji rad a pouziju ji. EOF