两天前我就这个问题提出了一个问题,但没有收到有效的答案。所以我以更详细的方式再次询问这个问题。 问题是,我无法通过命令提示符运行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.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(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)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
上一个问题有一些与包相关的答复,但我想知道为什么这样一段绝对简单的代码需要包和东西..
此代码在在线代码运行器上也能完美运行,因此我假设问题不是代码本身的错误。
那么我做错了什么?
最佳答案
尝试
java Test // Capital T not small t in test
因为你的类名称是Test
而不是test
同时将文件另存为 Test.java
而不是 test.java
,由于您的类名是 public ,所以 文件名
应该是与类名
注意:请不要想知道任何事情,只需读出异常即可,它响亮而清晰!
关于Java代码未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29623688/