Friday, June 8, 2007

adding all jar files of a directory to classpath

how do you add all the jar files of your application's lib directory to classpath? probably as follows:

set CLASSPATH=%CLASSPATH%;%LIB_DIR%/activation.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/FTPProtocol.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/jai.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/jakarta-oro.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/jaas.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/log4j.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/mail.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/rmicb.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/Tidy.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/trove.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/xalan.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/xerces.jar
set CLASSPATH=%CLASSPATH%;%LIB_DIR%/xml-apis.jar
but there is a easier way:
SETLOCAL ENABLEDELAYEDEXPANSION
for %%f in (%LIB_DIR%\*.jar) do set CLASSPATH=!CLASSPATH!;%%f
ENDLOCAL
note the ! sign around CLASSPATH and don't miss SETLOCAL/ENDLOCAL commands.