Italian B4J su linux

marco.canta

Active Member
Licensed User
Longtime User
Buona sera ragazzi, ho un problema, o forse problemino ... ho realizzato un programma in B4J, su Windows e Mac funziona perfettamente dopo aver installato con facilita' java.
Il problema nasce con Linux (di cui non sono molto esperto), ho scaricato Jdk e Jre ultima versione e scompattato file compresso in /USR/Java ... ma il mio programma Prova.jar non funziona ... ne da terminale ne cliccando sul file jar.

Qualche suggerimento ??

Grazie Marco.

P.S. La distribuzione linux è slackware64
 

max123

Well-Known Member
Licensed User
Longtime User

Ciao Marco, non so se hai risolto ma la procedura che devi eseguire é spiegata a questo link, pure in italiano grazie a Istituto Majorana, io ho fatto oggi questa procedura installando Java 8 su Lubuntu installato in un disco esterno USB come Virtual Machine immagine di VirtualBox, ti assicuro che almeno a me funziona benissimo, poi i files jar non devi doppiocliccarli come su win, altrimenti Linux te li vedrà come files di archivio zippati, da me premo il tasto destro sul file da lanciare e mi da opzione, lancia con Java Runtime.

Devo darti la bella notizia che molto probabilmente la tua app girerà, io ho provato cose anche molto complesse, applicazioni, mie librerie di controllo grafico e tutte vanno alla grande, un po lente perché sono in emulazione su un pc vecchiotto Intel DualCore 2.8Ghz con 2GB di ram.

Io ho scritto una libreria per inviare messaggi push con FirebaseCloudMessaging, presto uscirà, questa libreria é per varie piattaforme compreso Arduino , ESP8266, Raspberry Pi, e sistemi desktop Win, Linux e Mac e sono addirittura riuscito a inviare notifiche push da Linux installato su VirtualBox al mio tablet, quindi direi ottimo.

Alla fine della procedura l'installer ti chiederà di scaricare un pacchetto per rendere default Java 8, fallo perché é importante, poi riavvia ed hai Java perfettamente funzionante come su Windows.

Questo é il link della guida
http://www.istitutomajorana.it/index.php?option=com_content&task=view&id=2148&Itemid=33
 

max123

Well-Known Member
Licensed User
Longtime User
Aggiungo anche che da quanto ho visto, OpenJDK non é in grado di far girare apps UI di B4J, ma solo console inquanto non contiene riferimenti a JavaFX, per questo bisogna disinstallare dal sistema OpenJDK e installare Java8 originale Oracle.

Giorni fa ho provato a lanciare apps a terminale, apps sviluppate con B4J con interfaccia UI (quindi JavaFX) per provare se funzionassero con OpenJDK e la risposta del terminale é stata che é impossibile lanciare l'app inquanto l'app richiede JavaFX non fornito con OpenJDK.

Marco, comunque mi serei aspettato di sapere se hai risolto e se si in che modo, dato che anche io sono alle prime armi con Linux e sto cercando di capire varie cose.

Ciao
 

marco.canta

Active Member
Licensed User
Longtime User
Ciao Max, nulla non ho ancora risolto.
Il programma che avevo fatto per un cliente che usava Linux, non sono riuscito a farlo funzionare.
Il cliente stesso ha scelto di montare Windows7 e tutto ha funzionato subito senza problemi.
 

zakker

Member
Licensed User
Anche io avevo fatto, giusto per provare, un programmino che visualizzava semplicemente una finestra con 2 label.

Provato su Linux Ubuntu con OpenJDK e non funzionava.

Poi ho installato JDK Oracle e il programma si è aperto correttamente... ma ripeto era proprio una piccolissima prova fatta per curiosità.
 

max123

Well-Known Member
Licensed User
Longtime User

Io ho lanciato con successo applicazioni che fanno uso di altre mie librerie, tutto ha funzionato alla perfezione con Java8 di Oracle. Queste librerie usano anche JavaFX intensivamente, tra esse alcune sono librerie di controlli grafici custom, quali sliders, leds, switch e altro. Tutte funzionano bene come su Win. Con una mia libreria riesco pure a inviare notifiche push da Linux a devices Android. Unico punto negativo é la dimensione di alcuni controlli e del testo in generale che risultano piú grandi, ma questo puó essere controllato a runtime controllando se si sta usando Win, Linux o Mac.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…