我有一组指令来创建从CMD行运行应用程序时采用多个参数的Java应用程序。

指令说明:


  因此,使用上面的示例集,假设程序的main()方法位于名为JavaClassName的类中,则输出应为:


$ java JavaClassName 4 7 file.csv
program output here


我的问题是:

这不是跳过编译过程吗?
他们是否会假定将Java类加载到以前从未运行过此应用程序的计算机上(或仅包含运行所需的.java文件的目录);运行cmd

$ java JavaClassName 4 7 file.csv


会输出什么?

旁注:目前,运行该CMD输出

Error: Could not find or load main class JavaClassName


经历了多个SO问题和在线教程,试图使它甚至运行,但我尚未使它起作用。

最佳答案

你问:


  这不是跳过编译过程吗?


绝对没错。像java JavaClassName 4 7 file.csv这样的命令行假定当前目录中(或在CLASSPATH环境变量中找到的某些其他目录或Zip / Jar文件中)存在已编译的类文件“ JavaClassName.class”。是的,要生成该“ JavaClassName.class”类文件,必须首先使用Java编译器。

09-30 15:10