2011-06-18 95 views
0

我正在將構建腳本作爲批處理文件(不要問我爲什麼或者建議替代方法,您不會幫助)。我有一個名爲CLASSPATH的變量,用於java編譯器。 CLASSPATH包含許多目錄和jar文件的路徑。除了這些,我想補充的每個jar文件的[一些長路徑] \ 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% 

這種近乎工作。只有兩個問題:

  • 不知何故在條目之間出現一個空格,這會破壞類路徑。
  • 它在1024個字符後突然結束。

有人可以幫助我嗎?

回答

1

,那就試試我們使用-classpath命令行參數而不是環境變量,因爲這些變量在不同的操作系統上受到大小限制。

純粹作爲一個附註,如果您從JAR運行程序(例如java -jar app.jar),您可以使用add metadata來完成相同的事情。

相關問題