在批处理脚本中执行java代码时出错
这是我执行java代码的批处理脚本-在批处理脚本中执行java代码时出错,java,windows,batch-file,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 sp
@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.
我已将编译的类文件复制到同一位置。但为了安全起见,我提供了上面类文件的路径。我哪里出错了吗?这是上述答案的综合。一切都是正确的
@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%
对不起,没有太多时间,但是您不想要JAVA_HOME的输出吗 为此,您将使用%like:
set x="%JAVA_HOME%\bin\java"
首先,您需要:
set cmd="%JAVA_HOME%\bin\java" -cp "log4j.jar;commons-logging-1.0.4.jar;C:\Documents and settings\Administrator\Desktop\Temp" Test
更新:
显示了类名称“Test”应该如何合并
@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%
cmd
是保留字,不能像
那个李>
%
'd@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%
不幸的是,结果仍然是一样的。我对答案做了重大修改。忽略上面的评论。尝试你的建议。我收到了同样的信息!!我真的不知道哪里出了问题。我使用以下命令来运行jar“%\u JAVACMD%%RUNTIME\u OPTS%-Djava.ext.dirs=%ext\u dirs%-jar dist\some.jar%*%,其中ext\u dirs包含所有必需jar的列表。运行一个类可能会有类似的效果。结果仍然是一样的。实际上,“Test”是类名。我应该用“.class”来附加它吗?@hari是的,用“.class”来附加它。class@hari请参见下面我的回答。此外,大多数Java新手在
bin
目录中设置Java\u HOME
的值。不要这样做。@hari您能显示%JAVA\u HOME%
和%command%
的输出吗?你不工作是什么意思?它是否仍然说系统找不到指定的路径。?@hari我从来没有让你把Test.class
放在那里!那不行!另外,在哪里使用%JAVA\u HOME%
?我看它根本没有被替换!如果您的-cp设置仍然不正确,请查看我的答案。-cp参数是一个用引号括起来的字符串,在“;”之后没有空格。