Italian [B4J] File jar mancanti

AlpVir

Well-Known Member
Licensed User
Longtime User
Alle prese con il mio PRIMO piccolo progetto in B4J, all'atto di eseguire la compilazione, mi sono subitissimo imbattuto nel seguente errore:
Impossibile trovare: C:\Program Files\Anywhere Software\B4J\libraries\jna-4.1.0.jar
Allora ho cercato il file in questione trovandolo in java2s.com. L'ho copiato in C:\Program Files\Anywhere Software\B4J\libraries. Bene !
Successivamente altro errore simile al precedente :
Impossibile trovare: C:\Program Files\Anywhere Software\B4J\libraries\slf4j-api-1.7.10.jar
Potrei anche cercare il file slf4j-api-1.7.10.jar ed inserirlo in C:\Program Files\Anywhere Software\B4J\libraries ma mi sorge il dubbio che questo seconda di richiesta potrebbe anticipare una terza ed una quarta e così via. Ho quindi pensato che tutto ciò sia frutto di qualcosa di più profondo, frutto di qualche mia dimenticanza nell'effettuare l'installazione. Ma quale ?
Preciso che su questo computer è anche installato il linguaggio B4A con la sua brava cartella C:\Java che (credo) è in comune con il linguaggio B4J.
Grazie per l'attenzione.
 

Sagenut

Expert
Licensed User
Longtime User
Sembrano più file di supporto per qualche libreria particolare.
Stai usando qualcosa di non standard come librerie?
Se fossero librerie interne standard sarebbero già presenti dopo l'installazione.
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Sono interessato a questo progetto
 

Sagenut

Expert
Licensed User
Longtime User
Ho guardato la discussione.
Sì, sono tutti jar aggiuntivi che vanno scaricati per quel progetto.
L'autore fornisce già uno zip con tutti i jar necessari.
Attenzione che mi pare che vadano messi nella cartella delle librerie aggiuntive e non in quella delle interne.
Quindi penso che la tua installazione di B4J sia a posto.
Devi solo seguire con precisione le istruzioni dell'autore su come impostare tutti i file.
 

AlpVir

Well-Known Member
Licensed User
Longtime User
"""L'autore fornisce già uno zip con tutti i jar necessari."""
Non è proprio così. L'autore allega 2 librerie.
In C:\Program Files\Anywhere Software\B4J\AdditionalLibraries ho
13/05/2025 13:42 17.021 B4JDragToMe.jar
13/05/2025 13:42 5.554 B4JDragToMe.xml
13/05/2025 13:42 12.688 B4JVlcj.jar
13/05/2025 13:42 9.754 B4JVlcj.xml
12/05/2025 14:05 914.597 jna-4.1.0.jar
13/05/2025 07:37 1.464.423 jna-platform-4.1.0.jar
ma adesso mi chiede vlcj-3.10.1.jar e non so dove trovarla.
Sarò anche un principiante (di B4J) ma questo succedersi (per quanto ?) di richieste di librerie (per giunta con i nomi delle versioni) mi sembra indice di qualcosa che non va nella configurazione e/o nell'installazione.
Peraltro solito programma "Hello world" funziona perfettamente.
 

Sagenut

Expert
Licensed User
Longtime User
Ti allego quì il suo link con le librerie
https://www.dropbox.com/s/qxb80rwumzzjtec/XtraJarsForB4JVlc.zip?dl=0
che contiene
libs.jpg

Sono convinto che la tua installazione di B4J sia a posto.
Nel dubbio puoi tranquillamente rifarla. :)
E' che queste sono librerie extra necessarie al funzionamento di quel progetto, è quindi normale che non siano distribuite insieme a B4J.
Nel frattempo provo questo progetto anche io per curiosità.

*** EDIT ***
Funziona perfettamente. 👍
 
Last edited:

udg

Expert
Licensed User
Longtime User
In generale, AdditionalLibraries non dovrebbe stare sotto ProgramFiles
Guarda lo schema consigliato da Klaus nei booklet
 

Sagenut

Expert
Licensed User
Longtime User
Lo riporto quì così non deve cercare in giro
schema.jpg
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Sì, adesso con l'ultima libreria (vlcj-3.10.1.jar) funziona. Però che fatica !
Però mi spiace: non è quello che cercavo. Io voglio visualizzare uno stream video, non un file video. Stream video che proviene da un Raspberry, sulla stessa rete del PC.
Guarderò se questo o un altro progetto possono essermi utili.
In ogni caso ho imparato qualcosa. Grazie.
Riguardo il percorso in cui inserire le librerie ho semplicemente copiato lo schema che avevo adottato a suo tempo per il B4A quando non si parlava il B4J, B4i, ecc.
Per adesso lascio così.
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Uomo di poca fede (io)
E' bastato modificare 3 o 4 righe perchè il progetto funzionasse egregiamente. Molto bene !
Adesso come faccio a lanciare il file JAR ? Magari trasformandolo in exe ?
Facendo Java -jar vlcj.jar appare un errore relativo a JavaFX.
E' tutto nuovo per me !
EDIT
La soluzione più semplice (usare l'IDE di B4J con il Crea Packge Standalone genera un errore, poi il video sembra procedere normalmente (lento lento)
 
Last edited:

Sagenut

Expert
Licensed User
Longtime User
Ho provato a creare il Package StandAlone e non ho ricevuto errori.
Poi ho provato a riprodurre un file locale e funzionava correttamente.
Che errore ricevi quando cerchi di creare il pacchetto?
Stai usando Java 19 (supponendo che stai utilizzando l'ultima versione di B4J)?
Nota che quando crei il pacchetto il risultato è questa cartella
build.jpg

e devi distribuirla TUTTA intera ed eseguire l'exe dal suo interno.
PRO: lo puoi eseguire ovunque, su qualunque PC senza bisogno di installare nulla.
CONTRO: sono ogni volta almeno 40MB anche solo per un Hello World.
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Funzionamento assai strano.
Compilo : nessun errore
Creo il package : nessun errore
Apro vlcj.exe (o doppio click) : errore dell'antivirus e poi errore come da immagine (errore sopportabile)
Chiudo l'IDE di B4J
Apro vlcj.exe (o doppio click) : nessun errore
Rifaccio più volte questa operazione : nessun errore
Riavvio il PC
Apro vlcj.exe (o doppio click) : nulla, niente, nothing. Il programma non parte e non compare (mi sembra) in Gestione Attività.
Probabilmente quando si compila vlcj.jar (o si crea vlcj.exe) si avvia anche qualche altro processo che dovrei poter individuare in Gestione Attività.
Processo che bisogna avviare dentro il codice di vlcj.b4j.
 

Attachments

  • W.jpg
    W.jpg
    53.9 KB · Views: 68

Sagenut

Expert
Licensed User
Longtime User
Forse l'antivirus ti ha cancellato qualche files dalla cartella?
Purtroppo è un problema noto che a volte l'antivirus si presenti in questi casi.
Anche se dovrebbero essere tutti falsi positivi.
Prova ad escludere la cartella dal controllo per fare un test, o disattiva l'antivirus mentre provi ad eseguire il programma.
Scusa se insisto: usi Java 19?
 

AlpVir

Well-Known Member
Licensed User
Longtime User
C:\Users\User>java -version
java version "24" 2025-03-18
Java(TM) SE Runtime Environment (build 24+36-3646)
Java HotSpot(TM) 64-Bit Server VM (build 24+36-3646, mixed mode, sharing)
In configura percorsi ho
C:\Java\jdk-14.0.1\jdk-14.0.1\bin\javac.exe
Ho provato ad escludere per 10 minuti l'antivirus (Avast) ma il risultato non cambia.
B4J è nella versione 10.20 a 64 bit
vlcj.exe è nella cartella come da immagine allegata. Non mi sono mosso da lì.
Poi ho aggiornato a C:\Java\jdk-24.0.1\bin\javac.exe e ... patatrack


B4J Versione: 10.20
Analisi del Codice. (0.00s)
Java Versione: 8
Building folders structure. (0.01s)
Compilazione del codice. (0.01s)
Compilazione del codice di layouts (0.01s)
Organizzazione Librerie. (0.00s)
Compilazione del codice Java prodotto. Error
src\alpvir\B4JVlcj\main.java:7: error: package javafx.application does not exist
public class main extends javafx.application.Application{
^
1 error
only showing the first 1 errors, of 7 total; use -Xmaxerrs if you would like to see more

javac 24.0.1

Preciso che in C: esiste C:\Java ed anche C:\javafx-sdk-24.0.1
Boh ?
 

Attachments

  • C.jpg
    C.jpg
    43.3 KB · Views: 68

Sagenut

Expert
Licensed User
Longtime User
Scarica da qui Java 19 e punta a questo nei percorsi di configurazione di B4J
https://www.b4x.com/b4j.html
Per creare altri pacchetti di Java dovresti scaricare più parti e metterle insieme.
 
Top