我已经为我的64位Windows 7下载了一个java开发工具包,在记事本中写下了我的代码,虽然代码是从命令提示符编译并创建.class文件,但它拒绝运行显示错误代码:
java.lang.NoClassDefFoundError: first Caused by: java.lang.ClassNotFoundException: first
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: first. Program will exit. Exception in thread "main"
我已经不止一次确定文件名和类名完全相同(我保持小写'a'以确保)。但是仍然无济于事,请你提出一些解决方案。我是java新手,我基本上是一名C / C ++程序员。
答案 0 :(得分:5)
java程序具有以下基本结构:
ClassName.java
public class ClassName
{
public static void main(String[] args)
{
}
}
尝试使用此大纲来生成代码。
编译并运行:
javac ClassName.java
java ClassName
答案 1 :(得分:1)
我在运行类文件时遇到此错误。
尝试:java NameOfClass
运行时不需要.java
扩展名,但需要进行编译。这总是我以前遇到的问题。
答案 2 :(得分:1)
您是否设置了类路径?
http://download.oracle.com/javase/1.3/docs/tooldocs/win32/classpath.html
java -classpath <path> <classname>
答案 3 :(得分:0)
您必须提供代码。
无论如何,来自Java Docs,class ClassNotFoundException:
应用程序尝试时抛出 通过字符串加载一个类 名字使用:
- Class Class中的
forName
方法。- ClassLoader类中的
findSystemClass
方法。- ClassLoader类中的
loadClass
方法。但没有具有指定名称的类的定义 可以找到。
答案 4 :(得分:-1)
编译代码后很可能会编写java filename.java
。
因为这种寻求的例外发生在那时。
使用javac filename.java
编译程序后,使用命令启动解释程序 java filename
。
当您输入此命令时,java解释器会自动开始解释filename.class
。
命令:
javac filename.java // to start compiling
java filename // to start interpreting