我正在将构建脚本作为批处理文件制作(不要问我为什么或建议替代方法。您将无济于事)。我有一个与Java编译器一起使用的名为CLASSPATH的变量。 CLASSPATH包含许多目录和jar文件的路径。除了这些,我还要在。[some-long-path] \ lib \目录中添加每个jar文件。

看起来像这样:

SET /p dummy=%CLASSPATH%>classpath.tmp~<nul
SET WAR_LIB_PATH=war\WEB-INF\lib
DIR %WAR_LIB_PATH% /B | findstr /L ".jar" > jars.tmp~
REM Have to put it into an external file
FOR /f %%j in (jars.tmp~) do (
    SET /p dummy=;%WAR_LIB_PATH%\%%j>>classpath.tmp~<nul
)
SET /P CLASSPATH=<classpath.tmp~
ECHO %CLASSPATH%


此ALMOST有效。只有两个问题:


条目之间会以某种方式出现空格,这会破坏类路径。
它在1024个字符后突然结束。


有人可以帮我弄这个吗?

最佳答案

如果使用java6,则只需编写dir/*即可在目录中包含所有jar

http://download.oracle.com/javase/6/docs/technotes/tools/windows/javac.html


  例如,如果目录foo包含
  a.jar和b.JAR,然后是类路径
  元素foo / *扩展为
  A.jar; b.JAR

10-07 13:19
查看更多