Siccome non ho mai utilizzato strumenti per generare eseguibili Windows, non sono particolarmente pratico.
Quindi il mio dubbio è il seguente: l'exe serve solo come wrapper per la JVM o tutta l'applicazione viene convertita? In altri termini, per eseguire l'applicazione dopo che è stata convertita in exe è ancora necessaria la JVM preinstallata?

Se è ancora necessaria la JVM (quindi l'exe è solo un wrapper che carica la JVM e l'applicazione) immagino che non sia necessario fare nulla di particolare: se funziona con il JAR allora dovrebbe funzionare anche con l'exe.

Se, invece, l'exe che viene generato contiene anche tutta l'applicazione, potrebbe essere necessario indicare al programma di creazione dell'eseguibile quali package esterni includere (nel tuo caso, il driver JDBC).


Un'altra possibile causa del problema che mi viene in mente (no so quanto sia attendibile) è che essendo stato caricato come servizio, esso venga avviato prima di caricare in memoria le variabili d'ambiente (CLASSPATH, ad esempio). Se così fosse, la cosa si complica: come fa Windows a far partire la JVM con un classpath che non c'è ancora?


Ciao.