我正在尝试创建一个批处理文件来自动编译和执行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时,它运行正常。有什么建议?谢谢!
答案 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"