我试图通过执行以下操作从 Windows XP CMD 行创建并运行 java 程序,但失败了。谁能告诉我哪里看起来不对/还有什么可以尝试?
C:\> java -version java version "1.6.0_24" Java(TM) SE Runtime Environment (build 1.6.0_24-b07) Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode) C:\> mkdir c:\j\ C:\> cd c:\j\ C:\j\> notepad Test.java
(opens Notepad where I insert the following text and Save, then Close.)
public class Test{
public static void main(String[] args){
System.out.println("hi");
}
}
<小时/>
C:\j\> javac Test.java
C:\j\> java Test
Exception in thread "main" java.lang.NoClassDefFoundError: test
Caused by: java.lang.ClassNotFoundException: test
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: test. Program will exit.
真正的问题是,当我尝试使用 Eclipse 调试项目时,出现错误“无法创建 Java 虚拟机”,并且我尝试先在没有 IDE 的情况下测试编译和运行程序确保我的 JDK 安装有效。
<小时/>更新:您是正确的,我的计算机上设置了 CLASSPATH,但我仍然收到异常。执行建议的行会产生:
C:\j>java -cp . Test
Exception in thread "main" java.lang.NoClassDefFoundError: test (wrong name: Test)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: test. Program will exit.
最佳答案
看起来你的机器上已经设置了 CLASSPATH 环境变量,并且该值不包含传统的“点”(.) 来表示当前目录。您可以告诉 Java 在当前目录中查找,如下所示:
java -cp 。测试
(这是 java space dash cp space dot space 测试)。
关于java - 无法从 Windows XP 命令行运行 Java 程序 - ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5334270/