Eclipseなどにたよっていると、Unixでクラスパスと押すときに「あれ、クラスパスってそもそもなんだっけ」となる。
クラスパスの指定
classファイルは
-classpath c:\project\classes
とかできるけど、Jarファイルは
-classpath c:\project\lib\aaaa.jar
という風に、ファイル名を指定しないとダメ。
特定のフォルダにあるJarファイル全てをクラスパスに追加する方法
バッチファイルなどでクラスパスを通すときに、libフォルダ以下のすべてのJarファイルを設定したい場合がある。Jarファイルが少しならいいのだけれど、たくさんあるときはめんどっちい。
そこで、ある特定のフォルダにあるJarファイルを、クラスパスに追加していくバッチコマンドを考えてみた。Java SE6.0では/lib/*とかできるらしいからそれまでしんぼうだ。
rem build.bat 呼び出し元 set CLASS_PATH=%CLASS_PATH% FOR %%c in ("%ANT_HOME%\lib\*.jar") DO call addclasspath %%c echo %CLASS_PATH%
echo off rem addclasspath.bat クラスパスを追加するだけのバッチ set CLASS_PATH=%CLASS_PATH%;%1
1つのバッチにまとめたいところだけど、
FOR %%c in ("%ANT_HOME%\lib\*.jar") DO set CLASS_PATH=%CLASS_PATH%;%%c
がどうもうまくいかない。最期のJarのみ追加されるので、バッチをわけてみたところついに成功。