Note that there are some explanatory texts on larger screens.

plurals
  1. POJNA example program java.lang.NoClassDefFoundError
    text
    copied!<p>I can compile this JNA example code (from step 2 of <a href="https://github.com/twall/jna/#getting_started" rel="nofollow noreferrer">https://github.com/twall/jna/#getting_started</a>):</p> <pre><code>package com.sun.jna.examples; import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.Platform; /** Simple example of JNA interface mapping and usage. */ public class HelloWorld { // This is the standard, stable way of mapping, which supports extensive // customization and mapping of Java to native types. public interface CLibrary extends Library { CLibrary INSTANCE = (CLibrary) Native.loadLibrary((Platform.isWindows() ? "msvcrt" : "c"), CLibrary.class); void printf(String format, Object... args); } public static void main(String[] args) { CLibrary.INSTANCE.printf("Hello, World\n"); for (int i=0;i &lt; args.length;i++) { CLibrary.INSTANCE.printf("Argument %d: %s\n", i, args[i]); } } } </code></pre> <p>...using <code>javac -classpath .:jna.jar -g HelloWorld.java</code> without error. (I downloaded jna.jar and put it in the same directory as HelloWorld.java for now.)</p> <p>But when I run it using <code>java -classpath .:jna.jar HelloWorld</code>, I get:</p> <pre><code>Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong name: com/sun/jna/examples/HelloWorld) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) </code></pre> <p>I get the exact same exception on Mac OS X and Linux.</p> <p>How do I get this to run?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload