getting error: java.lang.NoClassDefFoundError

Discussion in 'Java' started by NathanK, Mar 2, 2004.

  1. NathanK

    NathanK Guest

    Hi Guys,

    im starting out in java and i'm getting the error: Exception in thread
    "main" java.lang.NoClassDefFoundError: blurf

    if i run "javac blurf.java", it compiles fine and without any troubles.

    when i try to run it (its a simple hello world program) i get the above
    error.

    i need some help :)

    -nat
     
    NathanK, Mar 2, 2004
    #1
    1. Advertising

  2. * NathanK <> wrote:

    > Hi Guys,
    >
    > im starting out in java and i'm getting the error: Exception in thread
    > "main" java.lang.NoClassDefFoundError: blurf
    >
    > if i run "javac blurf.java", it compiles fine and without any troubles.
    >
    > when i try to run it (its a simple hello world program) i get the above
    > error.


    Wow to you run the programm?
    Do you have a main() function?
    May be a package-fault?


    mabu

    --
    Are you Anonymous? Where? ... I don't think so ...

    [ devnull{at}chaosfactory{dot}org | http://www.chaosfactory.org/ ]
     
    Martin Buchleitner, Mar 2, 2004
    #2
    1. Advertising

  3. On Wed, 03 Mar 2004 07:44:56 +1100, NathanK wrote:

    > im starting out in java and


    <http://groups.google.com.au/groups?group=comp.lang.java.help>

    > i'm getting the error: Exception in thread
    > "main" java.lang.NoClassDefFoundError: blurf


    And what input is causing that output?
    Where is the class, where are you calling
    the class from?

    With the amount of information you fail
    to supply, I don't think I could find the
    Class on your system either.

    --
    Andrew Thompson
    * http://www.PhySci.org/ Open-source software suite
    * http://www.PhySci.org/codes/ Web & IT Help
    * http://www.1point1C.org/ Science & Technology
     
    Andrew Thompson, Mar 2, 2004
    #3
  4. NathanK

    Tony Morris Guest

    "NathanK" <> wrote in message
    news:...
    > Hi Guys,
    >
    > im starting out in java and i'm getting the error: Exception in thread
    > "main" java.lang.NoClassDefFoundError: blurf
    >
    > if i run "javac blurf.java", it compiles fine and without any troubles.
    >
    > when i try to run it (its a simple hello world program) i get the above
    > error.
    >
    > i need some help :)
    >
    > -nat


    Read Question 5 and 8.

    http://www.xdweb.net/~dibblego/java/faq/answers.html#q5

    Question 5.
    How do I set the CLASSPATH variable for the Java Development Kit ?

    Answer.
    Generally, you do not set the CLASSPATH environment variable for a standard
    SDK or JRE installation. The CLASSPATH environment variable is set for other
    reasons, usually the installation of third-party libraries. Some people
    (including myself) argue that setting the CLASSPATH environment variable at
    all is bad practice; it should be set dynamically at each build. This keeps
    the build machine clean from potential "contamination" from libraries in the
    CLASSPATH. Setting the CLASSPATH environment variable was required for
    installation of the SDK in versions prior to 1.2. This "myth" has
    unfortunately carried over to later versions of Java and confusion has
    resulted. A good rule of thumb is, "If you don't know how to set the
    CLASSPATH (since you are relatively new to Java), don't set the CLASSPATH at
    all". More information on the CLASSPATH environment variable can be found at
    http://java.sun.com/j2se/1.4.2/docs/tooldocs/tools.html

    http://www.xdweb.net/~dibblego/java/faq/answers.html#q8

    Question 8.
    What does this mean "Exception in Thread "main"
    java.lang.NoClassDefFoundError <something> " ?

    Answer.
    This means that the Java Virtual Machine (JVM) cannot find the class that
    you are referring to. The error is followed by the class name that the JVM
    was asked to load. The directory that contains this class must be in your
    CLASSPATH environment variable. If your CLASSPATH is not set to anything,
    then the class must be located in the same directory from which the JVM is
    invoked (package relative). The JVM is generally (but not always) invoked by
    executing the java executable followed by the class name at a command line.

    One common problem arises when executing a jar file (using the -jar switch),
    which ignores all CLASSPATH settings, except for that specified in the Java
    ARchive manifest file. This may be contrary to general intuition, but it
    makes perfect sense when you think about it. This is outlined in The JAR
    File Specification.

    A common error is to append the .class file extension to the class name when
    invoking the JVM; this will result in an error similar to the following:
    Exception in thread "main" java.lang.NoClassDefFoundError: MyClass/class
    Fix this problem by removing the .class file extension from your command.

    Wrong
    > java MyClass.class


    Right
    > java MyClass



    --
    Tony Morris
    (BInfTech, Cert 3 I.T.)
    Software Engineer
    (2003 VTR1000F)
    Sun Certified Programmer for the Java 2 Platform (1.4)
    Sun Certified Developer for the Java 2 Platform
     
    Tony Morris, Mar 2, 2004
    #4
  5. On Wed, 3 Mar 2004 08:51:27 +1000, Tony Morris wrote:

    > "NathanK" <> wrote in message
    > news:...
    >> Hi Guys,
    >>
    >> im starting out in java and i'm getting the error: Exception in thread
    >> "main" java.lang.NoClassDefFoundError: blurf

    ....
    > Question 5.
    > How do I set the CLASSPATH variable for the Java Development Kit ?
    >
    > Answer.
    > Generally, you do not set the CLASSPATH environment variable for a standard
    > SDK or JRE installation. The CLASSPATH environment variable is set for other
    > reasons, usually the installation of third-party libraries. Some people
    > (including myself) argue that setting the CLASSPATH environment variable at
    > all is bad practice; it should be set dynamically at each build.


    That is what Sun says as well, trouble is,
    they keep moving the documents that *say*
    that. It is most exasperating.

    --
    Andrew Thompson
    * http://www.PhySci.org/ Open-source software suite
    * http://www.PhySci.org/codes/ Web & IT Help
    * http://www.1point1C.org/ Science & Technology
     
    Andrew Thompson, Mar 2, 2004
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page