将jar文件添加到类路径中



我正在制作一个构建脚本作为批处理文件(不要问我为什么,也不要提出替代方案。你不会有帮助的)。我有一个名为CLASSPATH的变量,用于java编译器。CLASSPATH包含许多目录和jar文件的路径。除此之外,我还想在中添加每个jar文件。[一些长路径]\lib\directory

它看起来像这样:

SET /p dummy=%CLASSPATH%>classpath.tmp~<nul 
SET WAR_LIB_PATH=warWEB-INFlib
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%

这几乎奏效了。只有两个问题:

  • 不知怎的,条目之间出现了一个空格,破坏了类路径
  • 它在1024个字符后突然结束

有人能帮我吗?

如果使用java6,那么编写dir/*以将所有jar都包含在dir 中就足够了

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

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

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

纯粹作为一个附带说明,如果您正在从JAR(例如java -jar app.jar)运行程序,那么您可以添加元数据到实现相同功能的JAR文件中。

相关内容

  • 没有找到相关文章

最新更新