鉴于此.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
答案 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的异步执行或文件系统有关的延迟。
尝试添加暂停命令,以检查问题是否是执行命令的速度,或者问题是否在命令中。