无法运行简单的java代码

时间:2011-07-01 15:13:26

标签: java compilation

我已经为我的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 ++程序员。

5 个答案:

答案 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方法。
  •   
     

但没有具有指定名称的类的定义   可以找到。

必读链接:Tip: Causes of java.lang.ClassNotFoundException

答案 4 :(得分:-1)

编译代码后很可能会编写java filename.java 。 因为这种寻求的例外发生在那时。

使用javac filename.java编译程序后,使用命令启动解释程序 java filename

当您输入此命令时,java解释器会自动开始解释filename.class

命令:

javac filename.java   // to start compiling
java filename         // to start interpreting