将jar文件添加到类路径

时间:2011-06-18 01:15:58

标签: java command-line batch-file dos command-prompt

我正在制作一个构建脚本作为批处理文件(不要问我为什么或建议替代方案。你不会帮助)。我有一个名为CLASSPATH的变量,我和java编译器一起使用。 CLASSPATH包含许多目录和jar文件的路径。除了那些,我想在。[some-long-path] \ lib \ directory

中添加每个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个字符后突然结束。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:2)

如果您使用java6,只需编写dir/*以包含目录中的所有jar

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

  

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

答案 1 :(得分:1)

如果您正在运行javac,请尝试使用-classpath命令行参数而不是环境变量,因为这些变量在不同的操作系统上受到大小限制。

纯粹作为旁注,如果您从JAR(ex java -jar app.jar)运行程序,您可以add metadata执行完成相同操作的JAR文件。