Includere tutti i vasi in una directory nel classpath di Java
C'è un modo per includere tutti i file jar all'interno di una directory nel classpath?
Sto provando java -classpath lib/*.jar:. my.package.Program
e non è in grado di trovare i file di classe che sono certamente in quei barattoli. Devo aggiungere ogni file jar al classpath separatamente?
963
3
Se avete davvero bisogno di specificare tutti i file .jar dinamicamente, potreste usare script di shell, o [Apache Ant][1]. C'è un progetto commons chiamato [Commons Launcher][2] che fondamentalmente ti permette di specificare il tuo script di avvio come un file di build ant (se capisci cosa intendo).
Quindi, puoi specificare qualcosa come:
Devi aggiungerli tutti separatamente. In alternativa, se avete vero bisogno di specificare solo una directory, potete unjar tutto in una cartella e aggiungerla al vostro classpath. Non raccomando questo approccio, tuttavia, in quanto si rischiano bizzarri problemi di versionamento del classpath e di ingestibilità.
Pensate a un file jar come alla radice di una struttura di directory. Sì, dovete aggiungerli tutti separatamente.