编译CLASSPATH在Windows批处理文件

问题描述:

在Unix系统中,很容易通过使用find编译CLASSPATH:编译CLASSPATH在Windows批处理文件

LIBDIR=`find lib/ -name \*.jar` 
for DIR in $LIBDIR: 
do 
    CLASSPATH="$CLASSPATH:$DIR" 
done 

java -classpath $CLASSPATH com.example.MyClass 

什么是在Windows批处理文件的aquivalent?

+1

为什么不使用构建工具如Ant或Maven?他们可以以独立于平台的方式编译类路径条目。 – 2008-12-11 13:37:48

同样可以从Windows XP实现上:

setlocal ENABLEDELAYEDEXPANSION 
FOR /R .\lib %%G IN (*.jar) DO set CLASSPATH=!CLASSPATH!;%%G 

java -classpath %CLASSPATH% com.example.MyClass 
+0

这在Windows XP中不起作用,除非你先运行cmd/v – kgiannakakis 2008-12-11 13:01:31

只有这样,才能做到这一点是使用延迟的环境变量扩展。你可以通过运行

cmd /v 

然后你可以运行:

set var=. 
FOR /r %%d IN (*.jar) DO SET var=!var!;%%d 
set CLASSPATH=%var%