Is er een manier om alle jar-bestanden in een directory op te nemen in het classpath?
Ik'm probeer java -classpath lib/*.jar:. my.package.Program
en het is niet in staat om class files te vinden die zeker in die jars staan. Moet ik elk jar-bestand apart toevoegen aan het classpath?
Als je echt alle .jar bestanden dynamisch moet specificeren zou je shell scripts kunnen gebruiken, of Apache Ant. Er is een commons project genaamd Commons Launcher dat je in principe je opstartscript laat specificeren als een ant build bestand (als je ziet wat ik bedoel).
Dan kun je iets specificeren als:
<path id="base.class.path">
<pathelement path="${resources.dir}"/>
<fileset dir="${extensions.dir}" includes="*.jar" />
<fileset dir="${lib.dir}" includes="*.jar"/>
</path>
In je launch build bestand, die je applicatie zal starten met het juiste classpath.
Je moet ze allemaal apart toevoegen. Als alternatief, als je echt alleen een directory moet specificeren, kun je alles unjarren in één dir en dat toevoegen aan je classpath. Ik raad deze aanpak echter niet aan, omdat je bizarre problemen riskeert met classpath versiebeheer en onbeheersbaarheid.