Unable to run tutorial due to java.lang.NoClassDefFoundError

145 views
Skip to first unread message

eric simmerman

unread,
Dec 5, 2011, 12:39:22 AM12/5/11
to play-framework
I've installed Play 1.2.4 using brew on my MacBook Pro running 10.7.2
(Lion)
I can run play and create a new project with no error, but attempting
to run the project results in:

Exception in thread "main" java.lang.NoClassDefFoundError:
Caused by: java.lang.ClassNotFoundException:
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

If I pass the -verbose option (play run -verbose) I see the Exception
like this:

[Loaded sun.management.jmxremote.LocalRMIServerSocketFactory$1 from /
System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/
classes.jar]
Exception in thread "main" java.lang.NoClassDefFoundError:
Caused by: java.lang.ClassNotFoundException:
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
[Loaded java.util.IdentityHashMap$KeySet from /System/Library/Java/
JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar]

My Mac has a fully functioning Java install that works just fine for
the development of many other Java web projects and I can't tell what
class play is unable to find. Any idea what might be wrong with my
environment?


eric simmerman

unread,
Dec 5, 2011, 9:52:55 AM12/5/11
to play-framework
For posterity - I had JMX options set in my environment (eg
com.sun.management.jmxremote.port ,
com.sun.management.jmxremote.authenticate, etc...)  using JAVA_OPTS.
Apparently those were making play unhappy. Once I unset those play
executed the "run" command without throwing the CNFE.

On Dec 5, 12:39 am, eric simmerman <eric.simmer...@pascalmetrics.com>
wrote:

Reply all
Reply to author
Forward
0 new messages