在批处理脚本中执行Java代码时出错

时间:2011-09-09 11:49:31

标签: java windows batch-file

这是我的批处理脚本,用于执行java代码 -

@echo off
@setlocal

set JARS=log4j.jar;commons-logging-1.0.4.jar
set abc="JAVA_HOME\bin\java" -cp %JARS%; "C:\Documents and settings\Administrator\Desktop\Temp" Test

echo %abc%

%abc%

我得到了这个错误 -

The system cannot find the path specified.

我已将编译后的类文件复制到同一位置。但为了更加安全,我提供了上面类文件的路径。我在某个地方出错了吗?

5 个答案:

答案 0 :(得分:1)

抱歉,没有太多时间,但你不想要JAVA_HOME的输出吗?

为此你会使用%like:

set x="%JAVA_HOME%\bin\java"

答案 1 :(得分:0)

对于你需要的初学者:

set cmd="%JAVA_HOME%\bin\java" -cp "log4j.jar;commons-logging-1.0.4.jar;C:\Documents and settings\Administrator\Desktop\Temp" Test

更新

显示了如何合并classname“Test”。

答案 2 :(得分:0)

@echo off
@setlocal

set command="%JAVA_HOME%\bin\java" -cp log4j.jar;commons-logging-1.0.4.jar;"C:\Documents and settings\Administrator\Desktop\Temp" Test

echo %command%

%command%
  1. cmd是一个保留字,你不能将它用作变量之类的 该<!/ LI>
  2. 系统变量应该被%代替。
  3. 对包含空格的路径使用双引号。
  4. 您无法提供类的路径来运行类。你必须要 给出班级名称。

答案 3 :(得分:0)

这对我有用

@echo off   
set JAVA_HOME="C:\Program Files\java\jre6"
set JARS=".;C:\Program Files\lib\log4j.jar;C:\Program Files\lib\commons-logging-1.1.1.jar;"
set runJava=%JAVA_HOME%\bin\java -cp %JARS% Test
%runJava%

答案 4 :(得分:-1)

这是上述答案的合并。一切都是正确的部分。

@echo off

set runJava="%JAVA_HOME%\bin\java" -cp log4j.jar;commons-logging-1.0.4.jar "C:\Documents and settings\Administrator\Desktop\Temp\Test.class"

echo %runJava%

%runJava%