user2819672
user2819672

Reputation: 1

java.lang.NoClassDefFoundError at Runtime: Need Class not on Classpath

I have tried several approaches as suggested on this website as well as several others to no avail.

-Running Angstrom embedded Linux, OpenJDK6, Shark VM.

File Structure

All .java and .jar files are stored in directory ./src

Compiling and Running

Thank you very much for your help. I have run this on NetBeans and can verify that it's functional code, just a matter of getting it to run on Linux.

Stacktrace is:

Exception in thread "main" java.lang.NoClassDefFoundError: Package/Coder Caused by: java.lang.ClassNotFoundException: Package.Coder

at java.net.URLClassLoader$1.run(URLClassLoader.java:217)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:321)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)

at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)

Could not find the main class: Package.Coder. Program will exit

Upvotes: 0

Views: 2076

Answers (1)

Sotirios Delimanolis
Sotirios Delimanolis

Reputation: 280174

Assuming this structure

/coder
    /src
        /Package
            /Coder.java
            /WrapperClass.java
        /j1.jar
        /j2.jar

You will need to compile from /src as

javac -cp j1.jar:j2.jar Package/Coder.java Package/WrapperClass.java

This will create .class files in /Package. You can then run it, again from /src as

java -cp j1.jar:j2.jar Package.Coder

assuming the Coder class has a main method which is your entry point.

Upvotes: 1

Related Questions