Java 代码不是 运行
Java code not running
我在 2 天前就此提出了一个问题,但没有收到有效的答案。所以我以更详细的方式再次询问这个问题。
问题是,我无法通过命令提示符 运行 java 代码。我设置了环境变量。
java -version
和javac -version
的结果:
E:\AG's Stuff\Coding\Java>java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b16)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
E:\AG's Stuff\Coding\Java>javac -version
javac 1.7.0_25
所有教程都说要这样做:
C : > javac MyFirstJavaProgram.java
C : > java MyFirstJavaProgram
Hello World
我的程序叫做 Test.java。程序内容为:
public class Test{
public static void main(String args[]){
for(int a=0;a<=10;a++)
{
System.out.print(a+"\n");
}
}
}
当我尝试 运行 时,发生了这种情况:
E:\AG's Stuff\Coding\Java>javac test.java
E:\AG's Stuff\Coding\Java>java test
Exception in thread "main" java.lang.NoClassDefFoundError: test (wrong name: Tes
t)
at java.lang.ClassLoader.defineClass1(Native Method)
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.access0(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.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)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
上一个问题有一些与包相关的回复,但我想知道为什么这么简单的代码需要包和东西..
此代码在在线代码 运行ner 上也能完美运行,所以我假设问题不是代码本身的错误。
那我做错了什么?
尝试
java Test // Capital T not small t in test
因为你的 class 名字是 Test
而不是 test
也将文件保存为 Test.java
而不是 test.java
,因为你的 class 名称是 public ,所以 file name
应该与 class Name
注意:请不要疑惑,把异常读出来就好了!!
我在 2 天前就此提出了一个问题,但没有收到有效的答案。所以我以更详细的方式再次询问这个问题。 问题是,我无法通过命令提示符 运行 java 代码。我设置了环境变量。
java -version
和javac -version
的结果:
E:\AG's Stuff\Coding\Java>java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b16)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
E:\AG's Stuff\Coding\Java>javac -version
javac 1.7.0_25
所有教程都说要这样做:
C : > javac MyFirstJavaProgram.java
C : > java MyFirstJavaProgram
Hello World
我的程序叫做 Test.java。程序内容为:
public class Test{
public static void main(String args[]){
for(int a=0;a<=10;a++)
{
System.out.print(a+"\n");
}
}
}
当我尝试 运行 时,发生了这种情况:
E:\AG's Stuff\Coding\Java>javac test.java
E:\AG's Stuff\Coding\Java>java test
Exception in thread "main" java.lang.NoClassDefFoundError: test (wrong name: Tes
t)
at java.lang.ClassLoader.defineClass1(Native Method)
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.access0(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.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)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
上一个问题有一些与包相关的回复,但我想知道为什么这么简单的代码需要包和东西..
此代码在在线代码 运行ner 上也能完美运行,所以我假设问题不是代码本身的错误。
那我做错了什么?
尝试
java Test // Capital T not small t in test
因为你的 class 名字是 Test
而不是 test
也将文件保存为 Test.java
而不是 test.java
,因为你的 class 名称是 public ,所以 file name
应该与 class Name
注意:请不要疑惑,把异常读出来就好了!!