编译并执行java文件批处理文件问题

时间:2011-02-10 15:18:39

标签: java

鉴于此.bat文件:

@ECHO OFF

echo === Compiling and executing bat file ===


md C:\my_project\dir_prog\class_files


copy ProgAudioJ.java C:\my_project\dir_prog


javac -d C:\my_project\dir_prog\class_files ProgAudioJ.java


java -classpath C:\my_project dir_prog.class_files.ProgAudioJ

我想知道它有什么问题。

它不起作用。

我的意思是它将类文件放在名为class_files的目录中(因此编译过程没问题)但程序没有运行...

感谢你的帮助MAX

3 个答案:

答案 0 :(得分:1)

您是否已在项目中定义了主要类,并且已定义

这个类的public static void main(String [] args)方法?请记住,该方法得到 从shell运行东西时调用...

编辑:您可能会发现这个全面​​的概述很有用:Running a Java Program from Command Prompt @ SkylightPublishing.com

HTH

答案 1 :(得分:1)

我认为第一个问题是你需要在类路径上指定class_files目录。

第二个问题是您必须指定要运行的类的完全限定名称。这取决于您在Java源文件中定义的包。

所以这样的事情应该有效:(我假设你的班级在默认包中,即没有包裹)

java -classpath c:\my_project\dir_prog\class_files ProgAudioJ

您能提供源文件的内容吗?

答案 2 :(得分:0)

如果你的代码和命令是正确的,我会怀疑与javac的异步执行或文件系统有关的延迟。

尝试添加暂停命令,以检查问题是否是执行命令的速度,或者问题是否在命令中。