charlesmm ha scritto:
vorrei capirci di più sulla compilazione "manuale" sto cercando di fare quanto sopra indicato.
C'è una cosa fondamentale da sapere (specialmente quando si vuole usare "a mano" i tools del JDK per compilazione/avvio): i nomi di package si devono SEMPRE "riflettere" nella struttura delle cartelle. Sia che siano "sfuse" nel file-system, sia che siano in un jar (che è strutturalmente uno zip).
Questo vale ed è fondamentale per i .class generati, e dovrebbe valere anche per i sorgenti .java
E l'altra cosa importante: la cartella (o jar) che contiene il package "radice" deve essere in "classpath".
Se hai il sorgente Java in:
C:\mylib\com\mm\databasemaster\jdbc\OracleJDBCSingleton.java
(dove com\mm\databasemaster\jdbc è appunto la "riflessione" in cartelle del package com.mm.databasemaster.jdbc)
E hai il ojdbc8.jar in
C:\mylib\ojdbc8.jar
Allora per compilare devi:
a) posizionarti come directory corrente in C:\mylib
b) eseguire
javac -classpath . com\mm\databasemaster\jdbc\OracleJDBCSingleton.java
Nota che un driver JDBC NON è di norma richiesto in classpath in compilazione. Le applicazioni di norma NON referenziano "staticamente" classi del driver. Il punto ( . ) in -classpath garantisce che in classpath ci sia C:\mylib (anche se nel tuo caso non servirebbe se hai 1 sola classe)
Poi per avviare:
java -classpath
.;ojdbc8.jar com.mm.databasemaster.jdbc.OracleJDBCSingleton
Nota che all'avvio serve avere in classpath il driver (ovviamente) ma ANCHE la directory C:\mylib perché la compilazione avrà generato il file
C:\mylib\com\mm\databasemaster\jdbc\OracleJDBCSingleton.
class