BATCH文件错误 - 线程“main”中的异常但编译并运行正常,没有批处理文件

时间:2012-09-28 21:44:47

标签: java batch-file

我正在尝试创建一个批处理文件来自动编译和执行java程序。这是我的批处理脚本:

@echo off
cd X:\
echo Compile/Execute Java
echo Author: Phil Eaton
echo Created: 09-28-2012
set /P file=File name: %=%
set java = %file%.java
javac %java%
java %file%
set /P quit=

然而,它返回“线程中的异常”主“java.lang.NoClassDefFoundError:HelloWorld”,其中HelloWorld是用户输入。但是当我在命令提示符下运行javac HelloWorld.java时,它编译得很好,当我运行java HelloWorld时,它运行正常。有什么建议?谢谢!

3 个答案:

答案 0 :(得分:2)

set不允许=周围的空格:

set java=%file%.java 

答案 1 :(得分:1)

建议:

@rem Compile and run Java program
@if "%1"=="" goto USAGE

javac %1%.java
java %1%
@goto THE_END

:USAGE
@echo EXAMPLE USAGE: doit HelloJava
@goto THE_END

:THE_END

答案 2 :(得分:1)

只需删除空格:

set java=%file%.java

当空格存在时,java变量将为空。或者,您可以使用:

set java = "%file%.java"