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

编译和执行java文件批处理文件问题,java,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 di

给定此.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

您是否在项目中定义了一个主类,以及是否定义了

此类的公共静态void main(字符串[]args)方法?请记住,这种方法很有用 从shell运行东西时调用

编辑:您可能会发现此全面概述非常有用:


HTH

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

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

这样应该可以:(我假设您的类在默认包中,即没有包)


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

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


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

bat文件是否有任何输出?你能发布ProgAudioJ.java的源代码吗?如果你有需要帮助的问题,请不要停留在“它就是不工作”。告诉我们它的输出、错误消息是什么、您期望发生什么、实际发生了什么等。这适用于您遇到的任何类型的计算机问题。感谢您的回复。我试图听从你的建议,但不幸的是,它不起作用。我没有在源文件中指定任何包。我可以吗?您是从bat文件中还是从命令行运行上述命令?你能两个都试试吗?你能发布ProgAudioJ.java的源代码吗。输出是什么?输出是一个wav文件播放器、记录器和接合器。。如果我从命令行运行它,我会得到以下错误:线程“main”java.lang.NoClassDefFoundError中的异常:ProgAudioJ/jav由以下原因引起:java.lang.ClassNotFoundException:ProgAudioJ.java at java.net.URLClassLoader$1。run(未知源)程序将退出。抱歉,犯了一个错误。应该是ProgAudioJ而不是ProgAudioJ.java。查看我的更新。它工作得很好…我也犯了一个错误,因为我刚刚复制并粘贴了你的代码…谢谢,我还有一些关于另一个主题的问题…我可以给你我的电子邮件地址,这样我可以给你写信吗?
java -classpath c:\my_project\dir_prog\class_files ProgAudioJ