在cmd中执行Java程序而不使用设置路径或系统变量

Aks*_*obe 0 java compilation execution

我试图在命令提示符下执行一个简单的 java 程序(“HelloWorld”),而不使用设置路径选项或设置系统变量。假设 java 程序在D:\My_Programs 中 ,java 可执行文件在C:\Program Files\Java\jdk1.6.0_24\bin 中。这是我为编译所做的: C:\Program Files\Java\jdk1.6.0_24\bin>javac D:\My_Programs\HelloWorld.java它正在创建一个 .class 文件,但相同的执行策略会创建一个异常: C: \Program Files\Java\jdk1.6.0_24\bin>java D:\My_Programs\HelloWorld

Exception in thread "main" java.lang.NoClassDefFoundError: D:\My_Programs\HelloW
orld
Caused by: java.lang.ClassNotFoundException: D:\My_Programs\HelloWorld
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: D:\My_Programs\HelloWorld.  Program will exit.
Run Code Online (Sandbox Code Playgroud)

有人可以建议如何执行此文件。在此先感谢您的帮助。

编码:

class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
Run Code Online (Sandbox Code Playgroud)

A.H*_*.H. 7

请试试这个:

C:\Program Files\Java\jdk1.6.0_24\bin>java -cp D:\My_Programs HelloWorld
Run Code Online (Sandbox Code Playgroud)

甚至那个:

C:\anywhere> C:\Program Files\Java\jdk1.6.0_24\bin\java -cp D:\My_Programs HelloWorld
Run Code Online (Sandbox Code Playgroud)

-cp通知java执行到哪里寻找类HelloWorld。给出一个类似文件的参数D:\My_Programms\HelloWorld,其中 Java 假设纯包名+类名是行不通的。