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

标签 java compilation execution

我试图在命令提示符下执行一个简单的java程序(“HelloWorld”),而不使用set path选项或设置系统变量。假设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.

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

代码:

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

最佳答案

请尝试这个:

C:\Program Files\Java\jdk1.6.0_24\bin>java -cp D:\My_Programs HelloWorld

或者甚至是那个:

C:\anywhere> C:\Program Files\Java\jdk1.6.0_24\bin\java -cp D:\My_Programs HelloWorld

-cp 告诉 java 可执行文件在哪里查找 HelloWorld 类。提供类似文件的参数 D:\My_Programms\HelloWorld,其中 Java 假定纯包名+类名将不起作用。

关于Java程序在cmd中执行而不使用设置路径或系统变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7620811/

相关文章:

java - 如何用单个正则表达式模式替换过多的 SQL 通配符?

java - Hadoop Kerberos 安全性

java - Java中如何修改另一个类中的另一个对象?

c - 使用 makefile 避免不必要的重新编译

hardware - 机器周期、总线周期和执行周期的区别

java - 通过Void方法设置实例变量而不是获取返回值

c++ - 如何用 "-pthread"而不是 "-mthread"编译 boost_thread?

c++ - 转换问题

c# - 是否可以从另一个方法中断/返回方法执行?

java - Java 中的 CPU 执行时间