però alcune nn le compila...cioè dai .java non crea i .class
E io ribadisco che questo può succedere in soli due casi (non ne esistono altri):

1) Il compilatore non sa che deve compilare una determinata classe (perchè non gli è stato detto di farlo)

2) La compilazione va in errore, nel qual caso vengono mostrati a video i messaggi di errore

L'unico errore che mi da è quando provo a lanciarlo e mi dce Class nofound
Se non compila una classe (per uno dei motivi elencati sopra e non ce ne sono altri di possibili), è ovvio che dia ClassNotFoundException: se una classe non viene compilata, non esiste e non può trovarla.

Se, al contrario, la compilazione va a buon fine, quell'errore viene sollevato nel caso in cui la classe faccia parte di un package, ma viene avviata in modo errato.

Tra parentesi: l'istruzione che esegui tu per compilare (quella che hai postato nel primo post) dice al compilatore di compilare SOLO il file "Foglio.java". Se vuoi compilare tutti i file contenuti nella directory (package) "principale", il comando deve essere questo:

javac -classpath ./jfunction.jar; .\principale\*.java

e questo compila TUTTE e SOLE le classi del package "principale".

Se devi avviare la classe "Foglio", devi essere posizionato fuori dalla directory "principale" ed eseguire nel seguente modo:

java -cp ./jfunction.jar principale.Foglio

(ma queste sono regole di base, descritte nei manuali: quando avvii le classi NON DEVI usare il backslash, ma il punto come separatore di percorso/package)

Ciao.